Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add gtapps/claude-code-hermit --skill commitgit clone --depth 1 https://github.com/gtapps/claude-code-hermitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/gtapps/claude-code-hermit/commit)<a href="https://agentmods.dev/skills/gtapps/claude-code-hermit/commit"><img src="https://agentmods.dev/badge/skills/gtapps/claude-code-hermit/commit/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/gtapps/claude-code-hermit/commit"><img src="https://agentmods.dev/badge/skills/gtapps/claude-code-hermit/commit.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00090 | $0.01283 |
| Opus 5.5 | $0.00036 | $0.00513 |
| Sonnet 5.5 | $0.00018 | $0.00257 |
| Haiku 4.5 | $0.00009 | $0.00128 |
Grade A, and why
commit scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
86% identical to commit — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Commit
Detect which plugin's scope this change belongs to, append a changelog line in that plugin's CHANGELOG, then commit. No push, no tag, no version bump — that's /release's job.
Guardrails (check before starting)
- Clean tree (
git statusshows nothing) → stop and say so, nothing to commit. - Detached HEAD, mid-rebase, or mid-merge → stop and ask the user to resolve that first.
- Never
--amend,--no-verify, force-push, or create tags here. - Never use
git add -Aorgit add .— staging is path-scoped per step 0. - If a pre-commit hook fails, fix the root cause and create a new commit — don't bypass the hook.
mainis the default base for everyday work. Claude Code's/plugin updateonly fires whenversioninplugin.jsonchanges, so commits merged tomainbetween releases are invisible to operators on the standard install path —[Unreleased]accumulates until/releaseships them.
Steps
0. Detect scope
Run git status --porcelain and partition the changed paths:
- Paths matching
plugins/<X>/...→ group by<X>(the slug). - Paths outside
plugins/(root README,.github/,.claude/,.claude-plugin/marketplace.json, root configs) → "root-scope" paths.
Then decide:
- Single plugin slug, no root-scope paths → set
$PLUGIN_DIR = plugins/<slug>/, set$SCOPE = plugin. Continue. - Multiple plugin slugs touched → stop. Print the per-slug file groups and ask the user to split the change into separate
/commitruns (one per plugin). Do not stage anything. - Single plugin slug + a few root-scope paths → ask the user via AskUserQuestion: "Bundle the root-scope files (
<list>) into the<slug>commit, or split them out as a separate root-scope commit?" Default to splitting if uncertain. - Root-scope only (no
plugins/<X>/...) → set$SCOPE = root,$PLUGIN_DIR = none. Continue.
The rest of this skill branches on $SCOPE.
1. Review the diff
Run git status and git diff HEAD (or git diff if nothing staged yet). Scan for:
- Secrets or credentials (
.env, API keys, tokens) - Large binaries or generated files that shouldn't be versioned
- Unrelated files that shouldn't be bundled in this commit
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed c5180b1e20e4
- 1mo ago Changed · -14 tokens per session 73d2cb703cd5
- 1mo ago First seen · 79 lines · 104 tokens per session scan A 08e22a8c3cd8
commit is a skill published in the GitHub repository gtapps/claude-code-hermit (75 stars, last pushed 5d ago), licensed MIT. It adds 90 tokens to every session and 1,283 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 86% identical to commit, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
release
Bump a plugin's version, write a detailed changelog entry for the upgrade skill to consume, and commit+push. Takes a plugin slug argument identifying which plugin under plugins/ to release. Use this skill whenever the user says "release", "version bump", "cut a release", "changelog and push", or finishes a set of…
commit
Changelog and commit — lightweight motion for day-to-day plugin dev work in the monorepo. One commit per plugin scope; CHANGELOG and staging routed by detected slug. Trigger when the user says "commit", "commit this", "save this", "wrap this up", "let's commit", or finishes a change and wants to capture it. NOT for…
atlas-changelog
Maintain per-repo and cross-repo changelogs — append structured entries after agent work. Use when asked to "log this change", "update changelog", "what changed", "change history".
apex-status
CTO-level project status from git and codebase state. Use when asked "where are we", "project status", "what's done", or at the start of a work session.
git-commit
Creates git commits following Conventional Commits format with type/scope/subject. Use when user wants to commit changes, create commit, save work, or stage and commit. Enforces project-specific conventions from CLAUDE.md.
github-activity
Report what happened across GitHub repositories over a time window, read only. Invoke when the user asks what merged, which issues were opened or closed, or what moved between milestones since a date or since the last report, across one or more repositories.