add-language
Use when adding a new interface language (locale) to the app, or when asked to translate the UI into another language. Covers the…
Use when asked to mine the commit history for lessons the agent instruction files have not captured, to audit whether domain-context and contracts reflect what actually broke, or to run the periodic learnings review. Triggers on "mine history", "audit learnings", "check domain
$ npx -y skills add ZoneMinder/zmNinjaNg --skill mine-history --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/mine-historyContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when asked to mine the commit history for lessons the agent instruction files have not captured, to audit whether domain-context and contracts reflect what actually broke, or to run the periodic learnings review. Triggers on "mine history", "audit learnings", "check domain
name: mine-history description: Use when asked to mine the commit history for lessons the agent instruction files have not captured, to audit whether domain-context and contracts reflect what actually broke, or to run the periodic learnings review. Triggers on "mine history", "audit learnings", "check domain context against history".
Verify that the instruction system (AGENTS.md, AGENTS.project.md, `agents/project/domain-context.md`, playbooks) recorded the lessons the repo actually paid for. The day-to-day self-improvement protocol captures lessons one PR at a time; this skill is the periodic sweep that catches what slipped through.
**Core principle: every candidate carries commit-hash evidence. A lesson without a commit behind it is speculation, and speculation does not enter the instruction files.**
1. **Read what exists first.** AGENTS.md, AGENTS.project.md, every file in `agents/project/`. Only NEW lessons get reported; re-reporting a covered fact is noise that erodes trust in the sweep. 2. **Scope the window.** First run: full history. Later runs: since the last mining commit (find it with `git log --grep="history-mined" --oneline`). 3. **Probe, in order of yield:**
experiment; the lesson is what not to retry and what worked instead.
disproportionate count is one misunderstanding surfacing repeatedly. Ask what stable fact would have prevented the class.
should have caught. Post-gate violations mean the gate has a hole. 4. **Tooling caution.** Count with `git rev-list --count`, never piped `wc` (output wrappers have silently truncated pipelines here). Write long listings to a scratch file and read that. Sanity-check any suspiciously round number. 5. **Output contract**, four sections, every bullet with hashes:
existing section headers
name the Owns/Path/Never/Gate you would write, with real paths)
most runs)
knows what was verified 6. **Apply through the protocol.** Additions land as a PR touching the instruction files: domain entries verbatim, contracts with existing gate paths, budget re-checked (`agents-contracts.test.ts` enforces the word budget, hash validity, and privacy rules). Commit message includes the phrase `history-mined` so step 2 finds it next time.
| Signal | Verdict | |---|---| | Reverted approach with a working alternative | Domain entry: what failed, what works, do-not-retry | | 3+ fixes, one underlying misunderstanding | Domain entry stating the stable fact | | Recurring class across many commits (dozens) | Contract candidate, not just an entry | | Security-shaped fix (secrets, tokens, storage) | Contract Never-line candidate | | One-off typo/logic fix, no reusable fact | Skip; not every fix is a lesson | | Fix predates the rule that now covers it | Already handled; list in section D |
About once a month is enough; the per-PR protocol does the daily work. To schedule instead of remembering: any scheduler that can run the CLI works (`claude -p "/mine-history"` from cron or a calendar automation), or create a Claude Code routine with the `/schedule` command ("run /mine-history on the first of each month"). Running it manually after a heavy fix period is just as valid.
Documentation A ZoneMinder client for web, desktop, iOS, and Android. It shows live camera feeds, a montage of many cameras at once, and events on a timeline, and has an AI chat agent you can ask about your cameras.
Use when adding a new interface language (locale) to the app, or when asked to translate the UI into another language. Covers the…
Use when asked for a full codebase review, health check, quality audit, or scorecard of this repo, or for a "fable review" /…