cc-release-review
Skill14 starsChanged 7 days agoMITView on GitHub
Reviews Claude Code release notes and recommends config updates. Use when asking "what changed in the CLI/release", "what should I update", or "review the latest release". Covers settings.json, hooks, permissions, rules, skills, and CLAUDE.md.
In this repository12 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- CLAUDE.mdCLAUDE.md
- verifySkill
- assisted-logSkill
- code-theorySkill
- code-walkthroughSkill
- downloads-triageSkill
- editorSkill
- release-gateSkill
- release-shipSkill
- release-sweepSkill
- rexSkill
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 5 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 24
Run claude --version to get the installed version (e.g., 2.1.128 (Claude Code) — extract the version number).
- Very specific: line 26
Read ~/.claude/state/cc-release-review-version.txt to get the last reviewed version.
- Very specific: line 52
Do not ask the user to run /release-notes.
- Distinctive: line 54
Do not read any config files yet.
- Distinctive: line 78
Before finalizing, confirm every item in the slice was classified — the count covered should match the number of release-note entries in …
- Very specific: line 82
After presenting the report, run mkdir -p ~/.claude/state then write the installed version to ~/.claude/state/cc-release-review-version.txt.
- Distinctive: line 86
Read the file back to confirm the version was written correctly.
- Distinctive: line 90
Don't recommend what's already configured: If a new hook event exists and the user already wires it, mention it under "Notable" or skip it.
- Distinctive: line 91
Be specific in action items: Don't say "consider updating hooks." Say which hook, which file, which line, what to change.
- Very specific: line 94
Collapse cross-version themes: If the same area gets refined across multiple versions (e.g.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Reads Claude Code release notes and compares them against the user's current configuration to surface actionable updates. Tracks which version was last reviewed so repeat invocations skip already-evaluated releases.
Reference Files
- report-template.md — Unified report format: Action items / Notable / Added surface area sections
Workflow
1. Detect versions
Run claude --version to get the installed version (e.g., 2.1.128 (Claude Code) — extract the version number).
Read ~/.claude/state/cc-release-review-version.txt to get the last reviewed version. If the file doesn't exist, this is a first run.
Compare:
- Same version: Tell the user "Already reviewed version X" and stop unless they confirm.
- Different version: Proceed. Report the gap: "Reviewing v2.1.112 → v2.1.128 (last reviewed: v2.1.111 — 17 versions to cover)."
- No state file: Proceed. Note "First review — no prior version tracked."
2. Get release notes
The CLI keeps a full local changelog at ~/.claude/cache/changelog.md — every version, newest-first, ## X.Y.Z headings with - bullets. It is written by the CLI itself (it records the fetch time as changelogLastFetched in ~/.claude.json), not by /release-notes. Prefer it: no network, and it needs no slicing prompt.
It is a network-backed cache, so it can be missing (fresh install, cleared cache/) or stale (the fetch failed, or CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC suppressed it). Guard before trusting it — the cache must cover the installed version:
INSTALLED=$(claude --version | awk '{print $1}')
NEWEST=$(grep -m1 '^## ' ~/.claude/cache/changelog.md | sed 's/^## //')
[ "$(printf '%s\n%s\n' "$INSTALLED" "$NEWEST" | sort -V | tail -1)" = "$NEWEST" ] && echo usable || echo stale- Usable → Read the file and take every version above the last-reviewed one. Read only the newest section: the file spans every release back to 0.2.21, so reading it whole wastes context. Grep for the line number of the last-reviewed heading and read just that far.
- Missing or stale → fall back to
WebFetch https://raw.githubusercontent.com/anthropics/claude-code/main/CHANGELOG.md, prompting for the verbatim entries of every version above the last-reviewed one. Note that this tracksmain, so it can list versions newer than the installed CLI. - Both fail → ask the user to paste the raw notes. Never guess at the contents.
Either way, that set of versions — the slice, as later steps call it — is the review scope. If no version is newer, tell the user they're up to date and skip to step 5.
Do not ask the user to run /release-notes. Since v2.1.208 it renders notes in the UI without adding them to the model's context, so its output never reaches you.
Do not read any config files yet. Wait for the changelog to arrive.
Some versions are skipped (only versions with public notes appear) — that's normal.
3. Read config (after release notes arrive)
Once the relevant slice is in context, scan it for keywords (settings names, hook events, permission patterns, env vars, CLI flags, skill/agent fields) and read only the config files relevant to what changed. Don't blanket-read everything.
Available config files for reference:
| File | What to look for |
~/.claude/settings.json | hooks, permissions, statusLine, plugins |
~/.claude/settings.local.json | local overrides (may not exist) |
~/.claude/CLAUDE.md | workflow instructions, tool references |
~/.claude/.claude/CLAUDE.md | project-level instructions |
~/.claude/rules/*.md | rule files that reference CLI features |
Also use Glob/Grep to discover additional config (.mcp.json, skill frontmatter, hook scripts, agent frontmatter) when a release note touches something specific.
4. Analyze and produce one consolidated report
For each release-note item in the slice, classify it: action-required, notable-but-not-actionable, or noise. Then produce a single report following references/report-template.md — three sections (Action items / Notable / Added surface area), skip any that's empty.
Before finalizing, confirm every item in the slice was classified — the count covered should match the number of release-note entries in the slice, so nothing is silently dropped.
5. Update version tracking
After presenting the report, run mkdir -p ~/.claude/state then write the installed version to ~/.claude/state/cc-release-review-version.txt.
Format: just the version string on one line (e.g., 2.1.128).
Read the file back to confirm the version was written correctly.
Guidelines
- Don't recommend what's already configured. If a new hook event exists and the user already wires it, mention it under "Notable" or skip it.
- Be specific in action items. Don't say "consider updating hooks." Say which hook, which file, which line, what to change.
- Respect the user's style. Match patterns already in
settings.json(async flags, timeouts, command paths) when suggesting additions. - Don't auto-apply changes. This skill is advisory. Present the report; let the user decide what to implement.
- Collapse cross-version themes. If the same area gets refined across multiple versions (e.g.
findfd-usage reduction in v2.1.120 + v2.1.121), one line beats two. - Don't list every fix. Bug fixes that don't intersect the user's config don't need their own bullet — a one-sentence summary in the report header covers them.
Do not use when
- Health-checking the whole setup (installs, unused extensions, slow hooks, permissions) — use
/doctor
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

