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 tony/skills --skill changeloggit clone --depth 1 https://github.com/tony/skillsWrote 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/tony/skills/changelog)<a href="https://agentmods.dev/skills/tony/skills/changelog"><img src="https://agentmods.dev/badge/skills/tony/skills/changelog/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/tony/skills/changelog"><img src="https://agentmods.dev/badge/skills/tony/skills/changelog.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.00013 | $0.06333 |
| Opus 5 | $0.00006 | $0.03166 |
| Sonnet 5 | $0.00003 | $0.01267 |
| Haiku 4.5 | $0.00001 | $0.00633 |
Grade A, and why
changelog 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 10d 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 — 445 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Changelog Entry Generator
Generate well-formatted changelog entries from the current branch's commits and PR context. This command analyzes commits, categorizes them, and inserts entries into the changelog file after user review.
Additional context from user: $ARGUMENTS
Core Constraint: A Branch Is Not a Release
This command documents changes; it does not ship them. Every run is release-agnostic unless the user explicitly says otherwise (see The one exception below). Regardless of what the branch is named, what the commits contain, or how release-shaped the work looks:
- Never create, rename, or date a version heading (
## v1.53.0,## [1.2.3] - YYYY-MM-DD). Entries land in the unreleased section. - Never state or predict which version the changes will land in — not in entry text, not in headings, not in the commit message, not in the summary shown to the user. The next version isn't knowable from a branch: other work may land first, the size of the bump depends on what else ships, and the maintainer decides when to cut.
- Never derive a version from the commits. A breaking change in the diff
does not make this
2.0.0; afeatdoes not make it a minor bump. Do not reason about SemVer at all. - Never edit version files (
pyproject.toml,package.json,Cargo.toml,__about__.py,version.*, …), create tags, or convert an existingUnreleased/ placeholder heading into a version heading.
If the changelog has no unreleased section, ask the user what to call it — mirroring the project's own convention — and create that, never a version heading.
The one exception
Cut or prepare a release only when the user explicitly asks for one and the version is settled — e.g. "cut v1.53.0", "prepare the 2.0 release", "this branch is the release branch for 0.9.4, date the heading".
These are not explicit requests, and none of them authorize touching a version heading:
- A branch named
release/1.2,rc-3, orv2. - A milestone, label, or PR title mentioning a version.
- A version bump already present in the branch's diff.
- A commit message that references an upcoming release.
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.
- 10d ago First seen · 445 lines · 13 tokens per session scan A b64c79a32aca
changelog is a skill published in the GitHub repository tony/skills (2 stars, last pushed 5d ago), licensed MIT. It adds 13 tokens to every session and 6,333 once invoked, about $0.0001 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-31.
Other skills, from other repositories
git-branchless
Use when asked for multi-commit stack edits, rebases, fixups, or stacked-PR publishing with branchless git idioms. Not for plain-git workflows in repos without branchless.
pdlc-ship
A software release workflow that runs tests, updates the version and change log, creates a Git tag, and starts CI/CD, the automated build and deployment process.
atomic-issues-prs
Use when the user says "atomic PRs" or requests one issue or PR per logical change. Don't use for single-change pushes or uncommitted change-sets.
post-merge-cleanup
Use when a landed merge, release, or completed change needs its cleanup surface reconciled. Scans for stale TODOs, deprecations, unused flags, and doc gaps. Not for unrelated refactoring.
git-workflow-and-versioning
Use when the user asks for release, version bump, changelog, or branch workflow beyond a single commit. Don't use for single commits or for publishing to a package registry.
lockstep-version-guard
Use when a human invokes the release gate to prove all 28 ODIN plugins share one canonical version. Emits a per-file comparison and exits non-zero on mismatch. Don't use to edit release metadata or for remote, credential, publish, deploy, or irreversible changes.