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 IsaiaScope/ai --skill iso-commitgit clone --depth 1 https://github.com/IsaiaScope/aiWrote 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/isaiascope/ai/iso-commit)<a href="https://agentmods.dev/skills/isaiascope/ai/iso-commit"><img src="https://agentmods.dev/badge/skills/isaiascope/ai/iso-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/isaiascope/ai/iso-commit"><img src="https://agentmods.dev/badge/skills/isaiascope/ai/iso-commit.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00000 | $0.02380 |
| Opus 5.5 | $0.00000 | $0.00952 |
| Sonnet 5.5 | $0.00000 | $0.00476 |
| Haiku 4.5 | $0.00000 | $0.00238 |
Grade A, and why
iso-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 6d 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.
How it starts
The opening of the file, as written. The whole thing — 162 lines — stays where its author put it; the contents beside it link to each section on GitHub.
iso-commit
Turn the current changes into one commit with a message a human will still understand in six months.
Invocation: /iso-commit [--staged] [--split].
| flag | effect |
|---|---|
| (none) | git add -A — staged, unstaged, and untracked — then one commit |
--staged |
commit the index only; stage nothing |
--split |
group the diff by concern and make several commits instead of one |
Commit everything, and ask before leaving anything out. The default stages every staged, unstaged and untracked path and commits it without asking. Never drop a path from the commit on your own judgement: "looks like another session's work", "unrelated", "still being edited" are all questions for the user, not decisions for you. If something looks like it should stay out, stop before committing, list those paths, and ask. The user decides what gets committed, not the agent.
Never commit unless the user asked. /iso-commit typed by the user is the only trigger. Do not commit at the end of iso-write, after making edits, or because a task "feels done" — the rest of the iso-* chain deliberately leaves the tree uncommitted, and this skill does not change that.
Flow
Mechanics live in skills/iso-commit/scripts/commit.sh. Run it by absolute path.
- Preflight —
commit.sh preflight [--staged]. Non-zero: print its message and stop. Checks repo, branch (rejects detached HEAD), and that there's something to commit. - Read the change —
git diff HEAD(orgit diff --cachedwith--staged), plusgit log --oneline -10to match the repo's existing subject style. Also read the repo's commitlint rules —commitlint.config.*,.commitlintrc*, or thecommitlintkey in the rootpackage.json. They outrank this file: ascope-empty: neverrule makes the scope required, ascope-enumlimits it to the listed names, and length or case rules override the defaults below. - Stage —
commit.sh stage [--staged]. Runs the credential guard first and exits 2 without touching the index if it trips. On exit 2, print the blocked paths and stop; do not work around it. - Write the message to a temp file, following the format below.
Then
commit.sh lint <msgfile>: it runs the repo's own commitlint on the message and names the broken rule. Fix and lint again until it printslint=ok(orlint=skippedwhen the repo has no commitlint). Linting here means the commit-msg hook never becomes the first place a rule shows up. - Branch gate —
commit.sh gate "<subject>", thencommit.sh land <action> <branch>. See below. - Commit —
commit.sh commit <msgfile>. Hooks run on purpose (commitlint gates the subject, version-bump reads it). If a hook rejects the commit, fix the message and retry — never--no-verify. If it reports paths that were staged but not committed (exit 4: the commit exists, a pre-commit hook dropped them), stage those paths and amend withgit commit --amend --no-edit. Nothing staged is ever left behind. - Report — print the message and the short SHA the script echoed. Add one line:
wrong? git commit --amend.
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 6d ago Changed · +5 lines 9b26a08f1a93
- 1mo ago First seen · 157 lines · 0 tokens per session scan A daa08fdbe73d
iso-commit is a skill published in the GitHub repository IsaiaScope/ai (2 stars, last pushed 7d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,380 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
spec-apply
Implement an OpenSpec change's tasks in parallel - read the task queue, plan file-disjoint waves, dispatch one agent per task into its own worktree, verify, tick the checkbox, commit, repeat. Use when the user says "apply the change", "implement the change", "run the tasks", "work the tasks in parallel", "fan out the…
spec-propose
Draft the OpenSpec change artifacts - proposal.md, the specs/ delta, design.md, tasks.md - on a fresh branch, install the wave rules that make tasks.md parallel-safe, validate, and commit. Use when the user says "propose this", "write the proposal", "spec this out", "/spec-propose", "turn this into an OpenSpec…
git-commit
Run git commit using Angular conventional commit format (header + footer only, no body). Use when the user asks to commit, create a commit, /git-commit, or save changes to git. Also trigger on "snapshot this", "save my work", "check in changes", "wrap up", "ship this locally", or whenever the user finishes a logical…
spec-archive
Fold a completed OpenSpec change into the project's specs, commit the move, and open the PR - the last link in the spec chain. Wraps /opsx:archive, which is git-blind. Use when the user says "archive the change", "archive that spec", "/spec-archive", "fold this into the specs", "close out the change", "it's done, land…
git-issue-start
Take a GitHub issue from open to a checked-out branch - assign it to you, mark it in progress if the repo has such a label, derive a conventional branch name from its type: label, branch off the detected base. Use for "start issue 42", "work on #42", "/git-issue-start 42", "let's do 42", "pick up that issue", "take…
requesting-code-review
Use when completing tasks, implementing major features, or before merging to verify work meets requirements.