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 agentmods add skills/zakelfassi/skills-driven-development/breaking-change-auditnpx skills add zakelfassi/skills-driven-development --skill breaking-change-auditgit clone --depth 1 https://github.com/zakelfassi/skills-driven-developmentWrote 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/zakelfassi/skills-driven-development/breaking-change-audit)<a href="https://agentmods.dev/skills/zakelfassi/skills-driven-development/breaking-change-audit"><img src="https://agentmods.dev/badge/skills/zakelfassi/skills-driven-development/breaking-change-audit.svg" alt="Measured on agentmods" 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 | $0.00059 | $0.01014 |
| Opus 5 | $0.00030 | $0.00507 |
| Sonnet 5 | $0.00012 | $0.00203 |
| Haiku 4.5 | $0.00006 | $0.00101 |
Grade A, and why
breaking-change-audit 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 5d 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 — 96 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Breaking-Change Audit
Compare the current public interface against the previous release tag to surface accidental breaking changes before publishing.
Inputs
- Previous tag (defaults to the most recent git tag:
git describe --tags --abbrev=0) - Current version (defaults to HEAD)
- Scope:
flags|exit-codes|output-format|all(default)
Steps
-
Build both versions
# Build HEAD cargo build --release cp target/release/shipctl /tmp/shipctl-next # Build the previous tag git stash git checkout {prev-tag} cargo build --release cp target/release/shipctl /tmp/shipctl-prev git checkout - git stash pop -
Diff public flags Capture help output for every command and subcommand:
/tmp/shipctl-prev --help > /tmp/flags-prev.txt /tmp/shipctl-prev release --help >> /tmp/flags-prev.txt # ... repeat for all subcommands /tmp/shipctl-next --help > /tmp/flags-next.txt /tmp/shipctl-next release --help >> /tmp/flags-next.txt diff /tmp/flags-prev.txt /tmp/flags-next.txtLines prefixed with
-in the diff represent removed flags or changed defaults. -
Check exit codes Run a battery of known invocations and compare exit codes:
# Example: unknown flag should exit 2 /tmp/shipctl-prev --unknown-flag 2>&1; echo "prev exit: $?" /tmp/shipctl-next --unknown-flag 2>&1; echo "next exit: $?"Document any changes; a changed exit code for a common error case is a breaking change.
-
Check output format (JSON / machine-readable outputs)
/tmp/shipctl-prev release --dry-run --json > /tmp/out-prev.json /tmp/shipctl-next release --dry-run --json > /tmp/out-next.json diff /tmp/out-prev.json /tmp/out-next.jsonRemoved JSON keys, renamed fields, or type changes are breaking.
-
Classify findings
Type Breaking? Action New flag added No Note in changelog under Added Flag removed Yes Requires BREAKING CHANGE:in commitFlag renamed Yes Requires BREAKING CHANGE:; add alias for one release cycleDefault changed Yes Requires BREAKING CHANGE:Exit code changed Yes Requires BREAKING CHANGE:New JSON key added No Note under Added JSON key removed/renamed Yes Requires BREAKING CHANGE:
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.
- 5d ago First seen · 96 lines · 59 tokens per session scan A 81c3b9a72f3a
breaking-change-audit is a skill published in the GitHub repository zakelfassi/skills-driven-development (18 stars, last pushed 1mo ago), licensed MIT. It adds 59 tokens to every session and 1,014 once invoked, about $0.0003 per session on Opus 5. 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-30.
Other skills, from other repositories
git-workflow-and-versioning
Structures git workflow practices. Use when making any code change. Use when committing, branching, resolving conflicts, opening or reviewing a pull request (PR), pushing to a remote, or when you need to organize work across multiple parallel streams. Use when cutting a release, choosing a semantic version bump…
comet-archive
Comet Classic 阶段 5 —— 确认归档、合并 delta spec 并完成分支收尾。.
finishing-a-development-branch
当实现完成、所有测试通过、需要决定如何集成这份工作时使用.
skillshare-changelog
Generate CHANGELOG.md entry from recent commits in conventional format. Also syncs the website changelog page. Use this skill whenever the user asks to: generate a changelog, document what changed between tags, or create a new CHANGELOG entry. If you see requests like "write the changelog for v0.17", "what changed…
skillshare-release
End-to-end release workflow for skillshare. Runs tests, generates changelog (via /changelog), optionally writes local RELEASENOTES, updates version numbers, commits, and drafts announcements. Use when the user says "release", "prepare release", "cut a release", "release v0.19", or any request to publish a new version.…
prepare-release
Prepare a new release by collecting commits, generating bilingual release notes, updating version files, and creating a release branch. Use when asked to prepare/create a release, bump version, or run /prepare-release.