关于 jackin-merge-pr
jackin-merge-pr 是用于 jackin❯ 仓库的 PR 合并技能,面向负责合并拉取请求的操作者。它按顺序执行 CI 门禁、路线图收尾、元数据校准和 squash 合并,并对高影响变更及失败检查设置确认门槛。
主要功能
- 01解析并审查目标 PR
- 02等待 CI 通过或停止
- 03退休或更新路线图条目
- 04校准 PR 标题与正文
- 05生成带 trailers 的 squash 合并正文
- 06报告合并 SHA 与文档处理结果
适用场景
- 01合并当前分支对应的 PR
- 02CI 检查尚在运行时等待结果
- 03PR 完成路线图条目并需移入文档
- 04高影响变更或检查失败时控制合并
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jackin-project/ jackin-dev --skill jackin-merge-pr安装后在 Claude Code 中输入/jackin-merge-pr确认已加载。
附带文件agents/openai.yaml
详细介绍
jackin-merge-pr
按顺序执行 jackin❯ 合并前门禁,失败时一律拒绝通过;将路线图事项移入文档,然后以 squash 方式合并。复用 .github/ Agent 规则(自动加载)和 PULL_REQUESTS.md——只负责按顺序执行,不会重述其中内容。
适用场景
- 操作者运行
jackin-merge-pr [<PR>]来合并 jackin❯ PR(默认为当前分支对应的 PR)。
不适用场景
- 创建或迭代 PR →
jackin-create-pr/jackin-propose。
参数
--no-poll— 不等待待处理的 CI;停止并报告。--admin <check>— 授权绕过一项指定的失败检查(仍需针对高影响范围操作进行确认)。
危险信号 — 停止
- 对这个 PR 没有明确授权,且影响范围大 → 停止,先确认。
- 任一必需的 CI 检查失败 → 停止(除非使用
--admin <check>并确认,否则不得绕过)。 - 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设为部分实现状态并保留页面;列出剩余阶段;提交;推送。
- 是 →
- 核对元数据。 标题/正文是否与最终差异一致?Squash 会将标题原样写入历史记录。如果已过时,通过
gh pr edit修正;并在回复中说明更改。 - 以 squash 方式合并。 创建正文文件(概述内容,不要使用清单),通过
cargo run -p jackin-pr-trailers -- --body-file附加尾注,然后运行gh pr merge <PR> --squash --body-file。确认标题包含(#N)。 - 报告。 报告合并 SHA 以及退役操作的内容。
常见错误
- 将先前会话中“全部合并”的指示视为授权——授权不会延续到后续会话。
- 在 CI 待处理或失败时合并,或未针对每项检查明确选择就使用
--admin绕过检查。 - 将
Status: Resolved的路线图页面留在原处,而不是将其退役并移入文档。 - Squash 标题缺少
(#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