release-runbooklisted
Install: claude install-skill snowzhaozhj/claude-devtools-rs
# release-runbook
> 触发:`/release-runbook 0.5.4`;或自然语言"发个 0.5.4 / 我们 release / bump 到 0.5.4 / 发个 patch / 出个新版本"
> 输出:步进式执行 + 每步状态报告
> 修改:三处版本号 + Cargo.lock + src-tauri/Cargo.lock;不动业务代码
## 一句话流程
```
preflight → 分支 → just release-bump X.Y.Z (bump 三处 + release-check + commit) →
push PR → /wait-ci → codex 二审(按豁免规则可跳)→ merge →
main 拉新 → tag vX.Y.Z → push tag → 监控 release.yml
(workflow 末尾 publish job 自动 verify 17 个 asset + un-draft,无需人工 publish)
```
**自动化点**(v0.5.5 之后):
- `just release-bump X.Y.Z` 把"sed 三处 + CHANGELOG [Unreleased]→版本号 + release-check + git add + commit"做成一步(详 `scripts/release-bump.sh`)
- `release.yml` 末尾 `publish` job 自动校验 17 个必需 asset + `gh release edit --draft=false`,缺一即 fail 保留 draft 待人工介入
**CHANGELOG 自动处理**(v0.6.1 之后):
- `release-bump.sh` 在 bump 版本号同时自动将 CHANGELOG.md 的 `## [Unreleased]` 转为 `## [X.Y.Z] — YYYY-MM-DD` + 重建空 `[Unreleased]` 段 + 更新底部 compare 链接
- Agent / 用户只需在 bump 前把本次改动写入 `## [Unreleased]` 段(或确认已写好),不再需要手动改版本号/日期/链接
Agent / 人工只在 **CI 红 / workflow build job 失败 / verify-asset 缺件** 三种异常时介入。
## 何时用 release-engineer subagent vs 本 skill
- **本 skill(手把手)**:日常 patch(0.x.y bump、单 hotfix);要看清每一步、需要在某步停下沟通。
- **`release-engineer` subagent**(`Agent({ subagent_type: "release-engineer", ... })`):大版本发版懒得手把手,subagent 在隔离 context 里自治推进,遇 known-failure 自动套 playbook fix,只在 playbook 不命中时回主对话升级。
两者共享同一 playbook(F1-F7);subagent 是把本 skill 跑到底的自动化版本。
## 何时用 bg dispatch
- **不用**:发版本身是主线流程,需要随时看 CI 红绿决策——不要用 `claude --bg`。
- 例外:如果发版触发的 CI 期间你想并行干**另一件不相关的事**,那件事可