release-guard

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Release 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

激活步骤

  1. PR Check: Ask for PR# if needed. Run
    gh pr view $PR_NUM --json state,baseRefName
    . Must: state=CLOSED, baseRefName=main.
  2. Branch:
    git branch --show-current
    +
    gh repo view --json default_branch
    . Fail if not main.
  3. CI:
    gh run list --branch main --limit 5 --json status,conclusion
    . ALL: completed + success. Log/screenshot.
  4. Clean:
    git status
    (clean working dir).
  1. PR检查:如有需要,索要PR编号。执行命令
    gh pr view $PR_NUM --json state,baseRefName
    。必须满足:state=CLOSED,baseRefName=main。
  2. 分支检查:执行
    git branch --show-current
    +
    gh repo view --json default_branch
    命令。若当前分支不是main则阻止发布。
  3. CI检查:执行
    gh run list --branch main --limit 5 --json status,conclusion
    命令。所有列出的CI任务必须处于completed且success状态。需记录日志或截图。
  4. 工作目录检查:执行
    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:
    cargo semver-checks check-release --workspace
    (ADR-034)
  • Tag: vMAJOR.MINOR.PATCH (semantic).
  • Prefer:
    cargo release patch|minor|major
    (ADR-034)
  • Fallback:
    gh release create v1.2.3 --generate-notes --target main
  • Confirm before execute.
  • Semver版本检查:执行
    cargo semver-checks check-release --workspace
    (参考ADR-034)
  • 打标签:使用vMAJOR.MINOR.PATCH格式的语义化版本号。
  • 推荐方式:执行
    cargo release patch|minor|major
    (参考ADR-034)
  • 备选方式:执行
    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
    gh
    .[2]
  • Structure: Essential in SKILL.md; link supports (add
    ci-reference.md
    for details).
  • Load/Test: Restart Claude Code. Ask "What Skills available?". Test: "Create release PR #199".
  • 描述:包含丰富的匹配关键词("release"、"tag")。
  • 允许使用的工具:支持读取操作和Bash通配符(gh/git命令行工具)。需安装
    gh
    工具[2]。
  • 结构:核心内容在SKILL.md中;支持链接(添加
    ci-reference.md
    以提供详细信息)。
  • 加载/测试:重启Claude Code。询问“What Skills available?”进行验证。测试场景:“Create release PR #199”。