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 jhlee0409/all-for-claudecode --skill release-notesgit clone --depth 1 https://github.com/jhlee0409/all-for-claudecodeWrote 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/jhlee0409/all-for-claudecode/release-notes)<a href="https://agentmods.dev/skills/jhlee0409/all-for-claudecode/release-notes"><img src="https://agentmods.dev/badge/skills/jhlee0409/all-for-claudecode/release-notes.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.1 | $0.00013 | $0.02244 |
| Opus 5 | $0.00006 | $0.01122 |
| Sonnet 5 | $0.00003 | $0.00449 |
| Haiku 4.5 | $0.00001 | $0.00224 |
Grade A, and why
afc:release-notes 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 7d 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 — 225 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/afc:release-notes — Generate Release Notes
Rewrites commit/PR history into user-facing release notes and optionally publishes to GitHub Releases. This is a standalone utility — not part of the auto pipeline. Does NOT modify local files (CHANGELOG updates are handled by
/afc:launch).
Arguments
$ARGUMENTS— (optional) Version range and flagsv2.3.0..v2.4.0— specific tag rangev2.4.0— from that tag to HEAD- Not specified — auto-detect last tag to HEAD
--post— publish to GitHub Releases after preview (can combine with any range)
Parse the arguments:
- Extract
--postflag if present - Parse remaining as version range:
- If contains
..: split into{from_tag}..{to_tag} - If single version: use
{version}..HEAD - If empty: auto-detect with
git describe --tags --abbrev=0
- If contains
Git Context (auto-loaded)
!git describe --tags --abbrev=0 2>/dev/null || echo "[NO_TAGS]"
!git log $(git describe --tags --abbrev=0 2>/dev/null || echo "")..HEAD --pretty=format:"%H %s" --no-merges 2>/dev/null || git log --pretty=format:"%H %s" --no-merges
Execution Steps
1. Determine Range
- If a tag is found, set
from_tagto that tag,to_tagto HEAD - If no tags exist, inform the user: "No tags found. Include all commits? (y/n)"
- If a
to_tagis specified (not HEAD), verify it exists:git rev-parse --verify {to_tag} 2>/dev/null - Determine the version label for the notes header:
- If
to_tagis a version tag: use it (e.g.,v2.4.0) - If
to_tagis HEAD: use "Unreleased" or thefrom_tagbumped (ask user)
- If
2. Collect Raw Data
Run these commands to gather change context:
# Commit history (no merges)
git log {from_tag}..{to_tag} --pretty=format:"%H %s" --no-merges
# Merged PRs since the from_tag date
from_date=$(git log -1 --format=%aI {from_tag})
gh pr list --state merged --search "merged:>$from_date" --json number,title,author,labels,body --limit 100
If gh is not available or the repo has no remote, skip PR collection — proceed with git-only data.
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.
- 7d ago First seen · 225 lines · 13 tokens per session scan A 8fbc0119b7aa
afc:release-notes is a skill published in the GitHub repository jhlee0409/all-for-claudecode (7 stars, last pushed 5mo ago), licensed MIT. It adds 13 tokens to every session and 2,244 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
pr-triage
4-phase PR backlog management with audit, deep code review, validated comments, and optional worktree setup. Use when triaging pull requests, catching up on pending code reviews, or managing a backlog of open PRs. Args: 'all' to review all, PR numbers to focus (e.g. '42 57'), 'en'/'fr' for language, no arg = audit…
land-and-deploy
Merge PR, wait for CI, verify deploy, run canary. The complete landing pipeline.
git-ai-archaeology
Analyze AI config evolution in a git repo. Use when mapping AI adoption history, finding when configs were first introduced, charting commit velocity by month, or identifying maturity phases in a project's AI tooling.
review-pr
Perform a comprehensive code review of a pull request.
git-worktree-clean
Clean up stale git worktrees with merged branch detection and disk usage report.
release-notes-generator
Generate release notes in 3 formats (CHANGELOG.md, PR body, Slack announcement) from git commits. Automatically categorizes changes and converts technical language to user-friendly messaging. Use for releases, changelogs, version notes, what's new summaries, or ship announcements.