mcpField
J
jackin-merge-pr

jackin-merge-pr

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

关于 jackin-merge-pr

jackin-merge-pr 是用于 jackin❯ 仓库的 PR 合并技能,面向负责合并拉取请求的操作者。它按顺序执行 CI 门禁、路线图收尾、元数据校准和 squash 合并,并对高影响变更及失败检查设置确认门槛。

主要功能

  1. 01解析并审查目标 PR
  2. 02等待 CI 通过或停止
  3. 03退休或更新路线图条目
  4. 04校准 PR 标题与正文
  5. 05生成带 trailers 的 squash 合并正文
  6. 06报告合并 SHA 与文档处理结果

适用场景

  1. 01合并当前分支对应的 PR
  2. 02CI 检查尚在运行时等待结果
  3. 03PR 完成路线图条目并需移入文档
  4. 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 合并或推进路线图事项时,该事项尚未退役或状态尚未更新 → 停止,先修正。

流程

  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. 核对元数据。 标题/正文是否与最终差异一致?Squash 会将标题原样写入历史记录。如果已过时,通过 gh pr edit 修正;并在回复中说明更改。
  6. 以 squash 方式合并。 创建正文文件(概述内容,不要使用清单),通过 cargo run -p jackin-pr-trailers -- --body-file 附加尾注,然后运行 gh pr merge <PR> --squash --body-file。确认标题包含 (#N)。
  7. 报告。 报告合并 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