release-guard
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseRelease Guard Skill
Release Guard 技能
Core Rules (NEVER VIOLATE)
核心规则(绝对不可违反)
- Releases ONLY from main after PR merge.
- ALL CI jobs must COMPLETE + SUCCESS. NO queued jobs.
- Verify branch protection requires status checks.
- 仅允许在PR合并后从main分支发布。
- 所有CI任务必须全部完成且成功,不允许存在排队中的任务。
- 验证分支保护规则是否要求状态检查。
Activation Steps
激活步骤
- PR Check: Ask for PR# if needed. Run . Must: state=CLOSED, baseRefName=main.
gh pr view $PR_NUM --json state,baseRefName - Branch: +
git branch --show-current. Fail if not main.gh repo view --json default_branch - CI: . ALL: completed + success. Log/screenshot.
gh run list --branch main --limit 5 --json status,conclusion - Clean: (clean working dir).
git status
- PR检查:如有需要,索要PR编号。执行命令。必须满足:state=CLOSED,baseRefName=main。
gh pr view $PR_NUM --json state,baseRefName - 分支检查:执行+
git branch --show-current命令。若当前分支不是main则阻止发布。gh repo view --json default_branch - CI检查:执行命令。所有列出的CI任务必须处于completed且success状态。需记录日志或截图。
gh run list --branch main --limit 5 --json status,conclusion - 工作目录检查:执行命令,确保工作目录干净无改动。
git status
Fail Response
失败响应
🚫 BLOCKED: [Exact violation]
Fix:
- Merge PR to main
- Wait CI: gh run list --branch main
- git checkout main && git pull
Re-run task.🚫 BLOCKED: [Exact violation]
Fix:
- Merge PR to main
- Wait CI: gh run list --branch main
- git checkout main && git pull
Re-run task.Pass: Safe Release
通过:安全发布
- Semver check: (ADR-034)
cargo semver-checks check-release --workspace - Tag: vMAJOR.MINOR.PATCH (semantic).
- Prefer: (ADR-034)
cargo release patch|minor|major - Fallback:
gh release create v1.2.3 --generate-notes --target main - Confirm before execute.
- Semver版本检查:执行(参考ADR-034)
cargo semver-checks check-release --workspace - 打标签:使用vMAJOR.MINOR.PATCH格式的语义化版本号。
- 推荐方式:执行(参考ADR-034)
cargo release patch|minor|major - 备选方式:执行
gh release create v1.2.3 --generate-notes --target main - 执行前需确认。
Examples
示例
- User: "Create release from develop PR #199" → BLOCK: Wrong branch.
- User: "Tag v1.0.0 after PR #199" → Check PR/CI/branch → Proceed if pass.
Progressive disclosure: For CI details, see ci-reference.md if needed.
undefined- 用户:"从develop分支的PR #199创建发布" → 阻止:分支错误。
- 用户:"PR #199合并后打标签v1.0.0" → 检查PR状态、CI结果和当前分支 → 若全部通过则继续执行。
渐进式信息披露:如需了解CI的详细信息,请查看ci-reference.md。
Best Practices Applied
已应用的最佳实践
- Description: Keyword-rich for matching ("release", "tag").
- allowed-tools: Read + Bash wildcards (gh/git CLI). Install .[2]
gh - Structure: Essential in SKILL.md; link supports (add for details).
ci-reference.md - Load/Test: Restart Claude Code. Ask "What Skills available?". Test: "Create release PR #199".
- 描述:包含丰富的匹配关键词("release"、"tag")。
- 允许使用的工具:支持读取操作和Bash通配符(gh/git命令行工具)。需安装工具[2]。
gh - 结构:核心内容在SKILL.md中;支持链接(添加以提供详细信息)。
ci-reference.md - 加载/测试:重启Claude Code。询问“What Skills available?”进行验证。测试场景:“Create release PR #199”。