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.
curl -O https://raw.githubusercontent.com/finch-xu/cc-router/main/.claude/skills/release-prep/SKILL.mdgit clone --depth 1 https://github.com/finch-xu/cc-routerWrote 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/finch-xu/cc-router/release-prep)<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.
<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>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.00156 | $0.03456 |
| Opus 5.5 | $0.00062 | $0.01382 |
| Sonnet 5.5 | $0.00031 | $0.00691 |
| Haiku 4.5 | $0.00016 | $0.00346 |
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.
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>),弄清它实际包含几处用户可感知的变化。
整理规则:
- 排除只动
release-notes/的提交:它们是在补写 / 修订已发布版本的说明(例如 PREV 打 tag 之后才补齐的上一版说明),不是本版本的变化。 - 按用户可感知的变化归类,不按 conventional-commit 前缀机械归类:
## 新功能:用户能用到的新能力、新界面、新入口、行为上的新选项。## 修复:上一个版本里已经存在的问题被修好。## 其他:用户能感知但不算功能 / 修复的变化(打包、日志、依赖升级带来的可见影响、文档)。
- 同一版本里新功能的修补提交并进那条新功能,不单列进「修复」。判断方法:修的东西是在 PREV 之后才加的(同一 scope、提交时间在 PREV 之后)。
- 默认不写:纯重构、测试、CI 流程、内部文档、代码风格、只影响开发者的改动。例外:它带来了用户可见的影响(例如「安装目录不再附带 yaml 文件」)。
- 合并同类、拆分混装:同一功能的多个提交写成一条,子要点用二级列表;反过来,一个提交里混了几处不相干的变化(常见于标题含糊的提交,比如一个「修复 + 新端点 + 改名」的厂商更新),按变化拆到各自的分节里。
- 外部贡献者的 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 さんに感謝):…
- zh:
- 拿不准的条目汇总成一个列表问用户(一次问完,不要一条一条问)。
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.
- 11d ago Changed · +2 lines · +6 tokens per session b3730e23df85
- 1mo ago First seen · 175 lines · 150 tokens per session scan A 190a123c4972
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.
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.
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.
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.
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…
superpowers-finishing-a-development-branch
Branch finished, tests green? Load first to merge, PR, or clean up.
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.