Neat-Freak Knowledge Closeout
KKKKhazix/khazix-skills
Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.
A skill your agent uses 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…
$ npx skills add ZoneMinder/zmNinjaNg --skill mine-history -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ZoneMinder/zmNinjaNg mine-history --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ZoneMinder/zmNinjaNg.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/mine-history .claude/skills/mine-history && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "mine-history" agent skill from https://github.com/ZoneMinder/zmNinjaNg/tree/main/.claude/skills/mine-history into .claude/skills/mine-history/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mine-history", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ZoneMinder/zmNinjaNg/tree/main/.claude/skills/mine-historyType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ZoneMinder/zmNinjaNg --skill mine-history -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ZoneMinder/zmNinjaNg mine-history --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZoneMinder/zmNinjaNg.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/mine-history .agents/skills/mine-history && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "mine-history" agent skill from https://github.com/ZoneMinder/zmNinjaNg/tree/main/.claude/skills/mine-history into .agents/skills/mine-history/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mine-history", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ZoneMinder/zmNinjaNg --skill mine-history -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ZoneMinder/zmNinjaNg mine-history --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZoneMinder/zmNinjaNg.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/mine-history .cursor/skills/mine-history && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "mine-history" agent skill from https://github.com/ZoneMinder/zmNinjaNg/tree/main/.claude/skills/mine-history into .cursor/skills/mine-history/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mine-history", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ZoneMinder/zmNinjaNg.git --path .claude/skills/mine-history--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ZoneMinder/zmNinjaNg --skill mine-history -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ZoneMinder/zmNinjaNg mine-history --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZoneMinder/zmNinjaNg.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/mine-history .gemini/skills/mine-history && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "mine-history" agent skill from https://github.com/ZoneMinder/zmNinjaNg/tree/main/.claude/skills/mine-history into .gemini/skills/mine-history/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mine-history", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ZoneMinder/zmNinjaNg mine-historyInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ZoneMinder/zmNinjaNg --skill mine-history -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ZoneMinder/zmNinjaNg.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/mine-history .github/skills/mine-history && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "mine-history" agent skill from https://github.com/ZoneMinder/zmNinjaNg/tree/main/.claude/skills/mine-history into .github/skills/mine-history/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mine-history", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ZoneMinder/zmNinjaNg --skill mine-history -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ZoneMinder/zmNinjaNg mine-history --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZoneMinder/zmNinjaNg.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/mine-history .opencode/skills/mine-history && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "mine-history" agent skill from https://github.com/ZoneMinder/zmNinjaNg/tree/main/.claude/skills/mine-history into .opencode/skills/mine-history/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mine-history", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
mine-historyA skill your agent uses 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…
Mine History is an agent skill from ZoneMinder/zmNinjaNg. 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".
Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Agent instruction files. It works with React and Git. The repository describes itself as: ZoneMinder client for iOS, Android, Windows, macOS, Linux and web. Live camera view, event review, montage, timeline, push notifications. Rewrite of zmNinja. The licence is Apache-2.0.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 00b3bcd. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitclaudeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Mine History loads about 1k tokens when it runs. Until then it costs about 79 tokens; SKILL.md has 526 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ZoneMinder/zmNinjaNg at commit 00b3bcd, republished under its Apache-2.0 licence (© ZoneMinder). 526 words, ~1,039 tokens.
.claude/skills/mine-history/SKILL.md (or your agent's skills folder).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.
agents/project/. Only NEW lessons get reported; re-reporting a
covered fact is noise that erodes trust in the sweep.git log --grep="history-mined" --oneline).git log --grep=revert -i --oneline. Each revert is a paid
experiment; the lesson is what not to retry and what worked instead.fix(<scope>): commits by scope; any scope with a
disproportionate count is one misunderstanding surfacing repeatedly.
Ask what stable fact would have prevented the class.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.domain-context.md entries, grouped by its
existing section headersagents-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.
© ZoneMinder, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/mine-history of ZoneMinder/zmNinjaNg.
Open the folder on GitHubat commit 00b3bcd
Mine History next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Mine History this skillZoneMinder/zmNinjaNg | 112 | — | ~1k | Automated safety check: Pass | Apache-2.0 | |
| Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills | 21k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Harness Evolution Feedback Looprevfactory/harness | 9.1k | — | ~855 | Automated safety check: Pass | Apache-2.0 | |
| Sync Public DocsCaldis/react-zmage | 945 | — | ~3.3k | Automated safety check: Pass | MIT | |
| Setup Matt Pocock Skillsywwynm/EverythingDone | 144 | 8 repos | ~1.7k | Automated safety check: Pass | GPL-3.0 | |
| Writing Docsc15t/c15t | 1.9k | — | ~872 | Automated safety check: Pass | Apache-2.0 |
KKKKhazix/khazix-skills
Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.
revfactory/harness
Collects feedback on how an agent harness performed, generalizes it, and updates the harness agents, skills and orchestrator along with a change-history table.
Caldis/react-zmage
A skill your agent uses when modifying public API in packages/core (types/global.ts, types/default.ts, index.ts, or package.json exports field), adding/renaming/removing props, changing default…
ywwynm/EverythingDone
Sets up an Agent skills block in AGENTS.md/CLAUDE.md and docs/agents/ so the engineering skills know this repo's issue tracker (GitHub or local markdown), triage label vocabulary, and domain doc…
c15t/c15t
Author or edit c15t documentation in docs//.mdx — the source for both the c15t.com site and the docs bundled into published packages.
microsoft/waza
Shared collaboration rules for a team of squad agents covering worktree awareness, writing decisions to an inbox, cross-agent requests and reviewer lockout.
ZoneMinder/zmNinjaNg
A skill your agent uses when adding a new interface language (locale) to the app, or when asked to translate the UI into another language.
ZoneMinder/zmNinjaNg
A skill your agent uses when asked for a full codebase review, health check, quality audit, or scorecard of this repo, or for a "fable review" / multi-pillar review whose output another agent will…
Categories
A skill your agent uses 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…. Mine History is an agent skill from ZoneMinder/zmNinjaNg. 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.
Mine History fits situations like: asked to mine the commit history for lessons the agent instruction files have not captured; audit whether domain-context and contracts reflect what actually broke; run the periodic learnings review; audit learnings.
Run `npx skills add ZoneMinder/zmNinjaNg --skill mine-history -a claude-code`. Or copy the skill folder (.claude/skills/mine-history in ZoneMinder/zmNinjaNg) into .claude/skills/mine-history in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ZoneMinder/zmNinjaNg --skill mine-history -a codex`. Or copy the skill folder (.claude/skills/mine-history in ZoneMinder/zmNinjaNg) into .agents/skills/mine-history in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ZoneMinder/zmNinjaNg --skill mine-history -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mine-history, .gemini/skills/mine-history, .github/skills/mine-history and .opencode/skills/mine-history in your project.
Going by SKILL.md and its folder, Mine History needs the command-line tools its instructions call (git and claude).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Mine History is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1k tokens (SKILL.md is roughly 4.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Mine History: Neat-Freak Knowledge Closeout (KKKKhazix/khazix-skills, 21k stars), Harness Evolution Feedback Loop (revfactory/harness, 9.1k stars), Sync Public Docs (Caldis/react-zmage, 945 stars) and Setup Matt Pocock Skills (ywwynm/EverythingDone, 144 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ZoneMinder (a GitHub organization) maintains it in ZoneMinder/zmNinjaNg, which has 112 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 10, 2026.
Source: ZoneMinder/zmNinjaNg on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.