mcpField
M
merge-pr

merge-pr

github.com/jackin-project开发3160 次安装4 周前更新
代码仓库

关于 merge-pr

用于 jackin PR 合并的技能,按顺序执行 CI 与路线图检查,再进行 squash 合并。对高影响变更和失败检查设有明确的停止与确认条件。

主要功能

  1. 01解析并检查目标 PR
  2. 02按影响范围要求显式确认
  3. 03等待 CI 通过或按参数停止
  4. 04退役或更新路线图条目
  5. 05整理 PR 元数据并 squash 合并

适用场景

  1. 01在 jackin 项目中合并已批准的 PR
  2. 02CI 待定时等待结果后再合并
  3. 03PR 完成路线图事项时迁移文档并更新链接
  4. 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 合并或推进路线图条目时,该条目尚未退役/状态未更新 → 停止,先修复。

流程

  1. 确定 PR。 使用当前分支的 PR,或参数指定的 PR。读取 gh pr view 和 gh pr diff。
  2. 评估影响范围。 如果差异涉及带版本的架构、身份验证/安全边界、.github/workflows/**,或需要强制推送/--admin,则为高影响范围。高影响范围 → 暂停并要求一次明确确认。正常范围 → 继续(调用此技能即视为同意)。
  3. CI 门禁。 执行 gh pr checks <PR>:如果有待处理检查,轮询直到全部通过(除非使用 --no-poll);如果任何检查失败,则停止。信任 CI——它会运行 cargo xtask schema-check 以及测试/clippy/fmt 任务——不在本地重新运行。
  4. 路线图条目退役。 此 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 并保留页面;注明剩余阶段;提交;推送。
  5. 核对元数据。 标题/正文是否与最终差异一致?压缩合并会将标题原样写入历史记录。如果内容过时,使用 gh pr edit 修正;在回复中说明改动。
  6. 压缩合并。 构建正文文件(说明性摘要,不含清单),通过 cargo run -p jackin-pr-trailers -- --body-file 附加尾注,然后执行 gh pr merge <PR> --squash --body-file。确认标题包含 (#N)。
  7. 报告。 报告合并后的 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