关于 merge-pr
用于 jackin PR 合并的技能,按顺序执行 CI 与路线图检查,再进行 squash 合并。对高影响变更和失败检查设有明确的停止与确认条件。
主要功能
- 01解析并检查目标 PR
- 02按影响范围要求显式确认
- 03等待 CI 通过或按参数停止
- 04退役或更新路线图条目
- 05整理 PR 元数据并 squash 合并
适用场景
- 01在 jackin 项目中合并已批准的 PR
- 02CI 待定时等待结果后再合并
- 03PR 完成路线图事项时迁移文档并更新链接
- 04对高影响变更或失败检查执行确认流程
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jackin-project/ jackin-dev --skill merge-pr安装后在 Claude Code 中输入/merge-pr确认已加载。
详细介绍
merge-pr
按顺序执行 jackin' 合并前检查门禁,失败即关闭;将路线图条目移入文档,然后压缩合并。复用 .github/ Agent 规则(自动加载)和 PULL_REQUESTS.md——只负责安排顺序,不会重复其中的内容。
适用场景
- 操作者运行
/jackin-dev:merge-pr [<PR>]来合并 jackin' PR(默认为当前分支的 PR)。
不适用场景
- 创建或迭代 PR →
/jackin-dev:create-pr//jackin-dev:propose。
参数
--no-poll— 不等待待处理的 CI;停止并报告。--admin <check>— 授权绕过一个指定的失败检查(仍需确认高影响范围)。
危险信号 — 停止
- 未明确授权合并此 PR,且影响范围较大 → 停止,先确认。
- 任何必需的 CI 检查失败 → 停止(未提供
--admin <check>且未确认时,不得使用--admin绕过)。 - PR 合并或推进路线图条目时,该条目尚未退役/状态未更新 → 停止,先修复。
流程
- 确定 PR。 使用当前分支的 PR,或参数指定的 PR。读取
gh pr view和gh pr diff。 - 评估影响范围。 如果差异涉及带版本的架构、身份验证/安全边界、
.github/workflows/**,或需要强制推送/--admin,则为高影响范围。高影响范围 → 暂停并要求一次明确确认。正常范围 → 继续(调用此技能即视为同意)。 - CI 门禁。 执行
gh pr checks <PR>:如果有待处理检查,轮询直到全部通过(除非使用--no-poll);如果任何检查失败,则停止。信任 CI——它会运行cargo xtask schema-check以及测试/clippy/fmt 任务——不在本地重新运行。 - 路线图条目退役。 此 PR 是否交付了路线图条目的最后一部分?
- 是 →
[bin]cargo xtask roadmap retire <slug> --plan会打印待办清单:页面内容、所有入站链接(grep <slug>)以及meta.json条目。[agent]执行需要判断的迁移:将操作说明移至guides//commands/,将设计细节移至reference/,在roadmap/index.mdx中编写## Completed条目,重定向入站链接;提交时使用docs:。[bin]cargo xtask roadmap retire <slug> --apply会移除meta.json条目、删除.mdx、运行审计,并且如果仍有入站链接指向已失效的 slug,则会失败。运行bun文档门禁;推送。 - 部分完成 →
cargo xtask roadmap retire <slug> --partial会设置**Status**: Partially implemented并保留页面;注明剩余阶段;提交;推送。
- 是 →
- 核对元数据。 标题/正文是否与最终差异一致?压缩合并会将标题原样写入历史记录。如果内容过时,使用
gh pr edit修正;在回复中说明改动。 - 压缩合并。 构建正文文件(说明性摘要,不含清单),通过
cargo run -p jackin-pr-trailers -- --body-file附加尾注,然后执行gh pr merge <PR> --squash --body-file。确认标题包含(#N)。 - 报告。 报告合并后的 SHA 以及退役操作的处理内容。
常见错误
- 将之前会话中“全部合并”的指示视为授权——授权不会延续到后续会话。
- 在 CI 检查待处理/失败时合并,或未针对每项检查明确同意就使用
--admin绕过。 - 留下
Status: Resolved的路线图页面,而没有将其内容移入文档并退役。 - 压缩合并标题缺少
(#N)后缀或 DCO/Co-authored-by 尾注。
工具
包含 jackin-pr-trailers。cargo xtask roadmap retire <slug> --plan 会为 Agent 提供退役待办清单;--apply 会执行机械式移除和审计,并在存在悬空链接时失败;--partial 会设置 Status。内容迁移由 Agent 判断。CI 会运行 cargo xtask schema-check(5 项产物门禁);此技能只读取其结果。
评论
支持 Markdown