بنقرة واحدة
review-merge-tag
PR 复审通过后的自动收尾流程。确认 review 无阻塞后,通过 gh pr merge 合并到 main,从 main 生成并推送下一个 v1.0.X tag,然后清理对应 worktree。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
PR 复审通过后的自动收尾流程。确认 review 无阻塞后,通过 gh pr merge 合并到 main,从 main 生成并推送下一个 v1.0.X tag,然后清理对应 worktree。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | review-merge-tag |
| description | PR 复审通过后的自动收尾流程。确认 review 无阻塞后,通过 gh pr merge 合并到 main,从 main 生成并推送下一个 v1.0.X tag,然后清理对应 worktree。 |
把“PR 已开发完成并复审通过”之后的收尾动作固化为可重复流程:合并 PR、从 main 打下一个 v1.0.X tag、推送 tag、清理 worktree。
pr:PR number 或 PR URL,必填。worktreePath:对应开发 worktree 路径,可选;提供后用于最后 ExitWorktree 清理。branch:PR head branch,可选;用于核对和清理说明。tagPrefix:tag 前缀,可选,默认 v1.0.。reviewPassedContext:复审通过上下文,可选;当自动检查不到 Martin 审计 comment 时必须提供。releaseTag:是否额外打 release-v1.0.X,默认 false;只有用户明确要求发布触发 tag 时才允许。gh pr merge 合并;禁止 git push origin HEAD:main 或 git push origin <branch>:main。main 上打 tag;禁止在 feature/worktree 分支打 tag。.yeaft/... 运行时数据。main 与 origin/main 不一致时,立即停止并报告。从 PR URL 或文本中提取 PR number。
source ~/.zshrc && gh pr view <pr> --json number,url,state,isDraft,baseRefName,headRefName,mergeStateStatus,reviewDecision,statusCheckRollup,comments,mergeCommit
必须满足:
baseRefName 是 main。isDraft 是 false。state 是 OPEN 或 MERGED。mergeStateStatus 不是明显冲突状态。reviewDecision 是 APPROVED,或 comments / 调用上下文里明确有 Martin 复审通过、无阻塞问题。如果无法自动确认 review 通过,停止,要求调用者提供 reviewPassedContext。不要猜。
如果 PR 已经是 MERGED,跳过 merge,但必须继续确认 merge commit 已进入 origin/main。
否则执行:
source ~/.zshrc && gh pr merge <pr> --merge --delete-branch
允许的非致命情况:
already merged:继续后续确认。ExitWorktree 清理。其他错误停止。
固定使用项目主 checkout:
cd /home/azureuser/projects/claude-web-chat && git switch main && git pull --ff-only
确认:
git branch --show-current
git rev-parse HEAD
git rev-parse origin/main
git merge-base --is-ancestor <mergeCommitOrHead> origin/main
必须满足:
main。HEAD == origin/main。origin/main 到达。不满足就停止;不要在错误 commit 上打 tag。
不要用创建时间排序。按数值解析现有 v1.0.X:
git tag --list 'v1.0.*'
如果还没有现有 v1.0.* tag,第一个 tag 是 v1.0.0。否则选择最大的数字后缀 X,下一个 tag 是 v1.0.<X+1>。如果传了 tagPrefix,只在完全理解其格式时使用;否则停止确认。
创建前检查:
git rev-parse -q --verify refs/tags/<nextTag>
HEAD:说明已打过,输出即可。HEAD:停止;这是危险状态。git tag <nextTag>
git push origin <nextTag>
默认不要打 release-v1.0.X。只有 releaseTag: true 且用户明确要求时才允许:
git tag release-<nextTag>
git push origin release-<nextTag>
如果提供了 worktreePath,使用工具清理,不要手动 rm -rf:
ExitWorktree(path: worktreePath, action: "remove", discard_changes: true)
说明:PR 已通过 merge 进入 main 后,worktree 内的已提交变更可以 discard。不要清理主 checkout 里的 .yeaft/... 运行时数据。
默认只输出这些字段:
#<number> / URL<sha><nextTag>不要输出长篇 report。只有用户明确要求 detail / report 时,才补充完整命令日志和检查细节。
遇到以下任一情况必须停下:
main。git pull --ff-only 失败。main,或 HEAD != origin/main。origin/main 到达。HEAD。完成。
- PR: #970 https://github.com/yeaft/claude-web-chat/pull/970
- Merge commit: e082f3a42b3740873b5ade1558d7d52171badc06
- Tag: v1.0.0
- Worktree cleanup: removed .yeaft/worktrees/fix-prompt-language-concise