원클릭으로
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