agentleFS
philoserfphiloserf/claude-code-config/.claude/skills/cc-release-review/SKILL.md

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.

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
  1. Very specific:

    Run claude --version to get the installed version (e.g., 2.1.128 (Claude Code) — extract the version number).

    line 24
  2. Very specific:

    Read ~/.claude/state/cc-release-review-version.txt to get the last reviewed version.

    line 26
  3. Very specific:

    Do not ask the user to run /release-notes.

    line 52
  4. Distinctive:

    Do not read any config files yet.

    line 54
  5. Distinctive:

    Before finalizing, confirm every item in the slice was classified — the count covered should match the number of release-note entries in …

    line 78
  6. Very specific:

    After presenting the report, run mkdir -p ~/.claude/state then write the installed version to ~/.claude/state/cc-release-review-version.txt.

    line 82
  7. Distinctive:

    Read the file back to confirm the version was written correctly.

    line 86
  8. Distinctive:

    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.

    line 90
  9. Distinctive:

    Be specific in action items: Don't say "consider updating hooks." Say which hook, which file, which line, what to change.

    line 91
  10. Very specific:

    Collapse cross-version themes: If the same area gets refined across multiple versions (e.g.

    line 94

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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 tracks main, 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:

FileWhat to look for
~/.claude/settings.jsonhooks, permissions, statusLine, plugins
~/.claude/settings.local.jsonlocal overrides (may not exist)
~/.claude/CLAUDE.mdworkflow instructions, tool references
~/.claude/.claude/CLAUDE.mdproject-level instructions
~/.claude/rules/*.mdrule 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. find fd-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

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.