cc-router: Skill for Claude Code

.claude/skills/release-prep/SKILL.md

release-prep is a skill for Claude Code from finch-xu/cc-router. It costs 156 tokens per session (3,456 once invoked), scanned A, original, MIT.

A release-preparation workflow for a software project. It updates the version, prepares release notes in Chinese, English, and Japanese, checks the result, and creates a local commit while stopping before a tag or published release.

In plain words
What is it for?
Use it to inspect the repository and previous version, choose or confirm the next version, write translated release notes, validate them, and prepare the local commit.
Why use it?
It makes the release steps explicit and prevents accidental tagging, pushing, or publishing. It also requires uncertain release-note details to be confirmed instead of guessed.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

This is finch-xu/cc-router's own configuration. It tells Claude Code how to work on cc-router itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything cc-router configures →

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is node scripts/release-body.mjs --check vX.Y.Z # CI 第一个 job 用的同一条检查.

Reuse

Borrowing it

Nothing to install: this file belongs to finch-xu/cc-router. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/finch-xu/cc-router/main/.claude/skills/release-prep/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/finch-xu/cc-router

Made for: Claude Code.

Wrote 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.

agentmods badge for release-prep

README.md
[![agentmods](https://agentmods.dev/badge/skills/finch-xu/cc-router/release-prep/github.svg)](https://agentmods.dev/skills/finch-xu/cc-router/release-prep)
Your own site
<a href="https://agentmods.dev/skills/finch-xu/cc-router/release-prep"><img src="https://agentmods.dev/badge/skills/finch-xu/cc-router/release-prep/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.

agentmods 80×15 button for release-prep

Your own site · 80×15
<a href="https://agentmods.dev/skills/finch-xu/cc-router/release-prep"><img src="https://agentmods.dev/badge/skills/finch-xu/cc-router/release-prep.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 156 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,456 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00156 $0.03456
Opus 5.5 $0.00062 $0.01382
Sonnet 5.5 $0.00031 $0.00691
Haiku 4.5 $0.00016 $0.00346

Measured 11d ago against content hash b3730e23df85, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

release-prep 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 11d 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.

.claude/skills/release-prep/SKILL.md · 177 lines

How it starts

The opening of the file, as written. The whole thing — 177 lines — stays where its author put it; the contents beside it link to each section on GitHub.

发版准备(release-prep)

这个 skill 在做什么

cc-router 每个版本的更新内容写在仓库根目录 release-notes/<版本>/,编译期内嵌进 app(升级后自动弹窗展示,侧栏底部礼花可重开),CI 也用同一份文件生成 GitHub Release 正文。本 skill 把「升版本号 + 写四语更新内容 + 校验 + 本地提交」串起来,停在打 tag 之前。

完整设计见 docs/superpowers/specs/2026-09-27-release-notes-popup-design.md(本地文件,被 gitignore)。

铁律

  • 绝不 git tag、绝不 git push、绝不 gh release …。结束时只打印用户要执行的命令。
  • 写之前先问、不猜:拿不准的条目(是否对用户可见、属于哪一节、要不要写)列出来问用户。
  • 简中是准绳,繁中、英、日从简中译出;四份结构逐条对应。
  • 提交说明里不提任何其他开源项目的名字,不写用户私有配置值(示例一律中性化),不写 OSS / 国内镜像源的运维细节(bucket、ACL、密钥之类)。

流程

Step 1:前置检查与版本号

git status --short          # 必须干净(允许的只有与本次发版无关、用户明确说不管的文件)
git rev-parse --abbrev-ref HEAD   # 应在 main;不在就问用户
git describe --tags --abbrev=0 --match 'v*'   # 上一个版本 tag,记为 PREV
node -p "require('./package.json').version"   # 当前版本号
  • 用户给了版本号:确认它比 PREV 新(semver)。
  • 没给:按 Step 2 的素材判断——有「新功能」→ 升 minor;只有修复 → 升 patch;有破坏性变化或用户说是大版本 → 升 major。给出建议版本号请用户确认后再继续。
  • 预发布版本(含 -,如 6.1.0-beta.1):先问用户要不要写更新内容。不写的话 CI 会放行,预发布说明本来也不会展示给正式版用户;这种情况跳过 Step 4–5。
  • 顺便问一句版本代号(如 6.0.0 的 Sketchbook),可以不填。

Step 2:收集素材

git log --no-merges --reverse --format='--- %h %an%n%B' PREV..HEAD

默认只读提交信息(标题 + 正文)——这个仓库的提交正文大多写得很完整,够用。以下情况必须看改动本身:标题含糊(如 update providers、fix、wip)、没有正文、或正文与标题对不上。先 git show --stat <sha> 看动了哪些文件,再只看相关文件的 diff(git show <sha> -- <path>),弄清它实际包含几处用户可感知的变化。

整理规则:

  1. 排除只动 release-notes/ 的提交:它们是在补写 / 修订已发布版本的说明(例如 PREV 打 tag 之后才补齐的上一版说明),不是本版本的变化。
  2. 按用户可感知的变化归类,不按 conventional-commit 前缀机械归类:
    • ## 新功能:用户能用到的新能力、新界面、新入口、行为上的新选项。
    • ## 修复:上一个版本里已经存在的问题被修好。
    • ## 其他:用户能感知但不算功能 / 修复的变化(打包、日志、依赖升级带来的可见影响、文档)。
  3. 同一版本里新功能的修补提交并进那条新功能,不单列进「修复」。判断方法:修的东西是在 PREV 之后才加的(同一 scope、提交时间在 PREV 之后)。
  4. 默认不写:纯重构、测试、CI 流程、内部文档、代码风格、只影响开发者的改动。例外:它带来了用户可见的影响(例如「安装目录不再附带 yaml 文件」)。
  5. 合并同类、拆分混装:同一功能的多个提交写成一条,子要点用二级列表;反过来,一个提交里混了几处不相干的变化(常见于标题含糊的提交,比如一个「修复 + 新端点 + 改名」的厂商更新),按变化拆到各自的分节里。
  6. 外部贡献者的 PR(提交作者不是维护者):问用户要不要致谢,不要自己决定。PR 编号从合并提交的标题找(Merge pull request #48 from …),找不到再用只读命令 gh pr list --state merged --search <sha>。用户同意的话,写在要点名后面的编号里:
    • zh:**新增 Requesty 服务商**(#48,感谢 @作者):…
    • en:**Requesty provider** (#48, thanks @author): …
    • ja:**Requesty プロバイダーを追加**(#48、@author さんに感謝):…
  7. 拿不准的条目汇总成一个列表问用户(一次问完,不要一条一条问)。

Read the full file on GitHub · 177 lines

Changes

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.

  1. 11d ago Changed · +2 lines · +6 tokens per session b3730e23df85
  2. 1mo ago First seen · 175 lines · 150 tokens per session scan A 190a123c4972

Subscribe to this mod's changes

release-prep is a skill published in the GitHub repository finch-xu/cc-router (287 stars, last pushed 3d ago), licensed MIT. It adds 156 tokens to every session and 3,456 once invoked, about $0.0006 per session on Opus 5.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-09-28.

Related

Other skills, from other repositories

update-v8-version

Update Codex's pinned v8 / rustyv8 versions, validate the release-candidate path, and investigate failed V8 canary or artifact builds. Use when asked to bump V8, update rustyv8 artifacts, prepare or validate a V8 release candidate, check v8-canary, or diagnose why a V8 version update no longer builds.

openinterpreter/openinterpreter · 86 tokens

release

Use this skill for EVERY ClawRouter release. Enforces the full checklist — version sync, CHANGELOG, build, tests, npm publish, git tag, GitHub release. No step can be skipped.

BlockRunAI/ClawRouter · 44 tokens

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.

CherryHQ/cherry-studio · 44 tokens

gh-cli

Patterns for invoking the GitHub CLI (gh v2.103.3+) from agents. Use when the task mentions GitHub, gh, pull requests/PRs, issues, releases, gists, Actions/workflow runs, forks, repo cloning, reviews, or you need exact gh commands. Covers pagination, repo targeting, search vs list, discussions, projects, rulesets…

znlgis/my-opencode-deepseek-config · 88 tokens

superpowers-finishing-a-development-branch

Branch finished, tests green? Load first to merge, PR, or clean up.

christopherarter/superpowers-reasonix · 26 tokens

git-master

Advanced Git operations — rebase, squash, fixup, blame, bisect, reflog, code archaeology (git log -S/-G), worktrees. Use when the task mentions rebase, squash, bisect, blame, reflog, fixup, finding deleted code, tracing commit history, cleaning up a branch, or recovering lost work.

znlgis/my-opencode-deepseek-config · 75 tokens