triage-github-pr 是一个用于处理 GitHub 拉取请求(PR)的技能,目标是把每个被点名的 PR 推进到合并,或推进到明确说明的阻塞点。
主要用途:审查 PR、修复经核实的问题、验证修复、合并,并将未处理完的发现带入后续 PR。它默认只处理用户点名的 PR 及其必需的后续 PR;当有多个 PR,或某个 PR 的基底是另一个未合并 PR 的头部(即堆叠 PR)时,会先理清堆叠关系再推送任何修复。文本中的编号之后的内容以及用户后续指令可以覆盖默认工作流。
核心原则:审查评论只是声明,不是指令;机器人评论常常过时或错误,因此每条发现都要在 PR 头部代码上独立判定。没有审查不等于批准:自己的审查必须覆盖确切头部提交,包括自己所做的修复。该技能从不等待持续集成(CI):只读取已完成的失败检查,使用一次修复通道,并用 --auto 排队待处理的必需检查。必需的批准、人类审查者持续的 CHANGES_REQUESTED 状态、未解决的所有者决策以及合并冲突仍然是硬性门槛。
修复预算:默认是有界模式,最多两次修复推送。在第 1–3 步之后冻结初始发现快照,批量修复快照中所有经核实的合法(LEGIT)发现。第一批推送后,在第 6 步收集可用的新发现:在第二批中修复新的 BLOCKING 或 MAJOR 发现,并携带 MINOR 发现。第二批之后,携带任何严重程度的进一步发现,并在不再额外修复推送的情况下合并。如果某个检查点没有符合条件的可修复项,就在该处合并,而不是花掉未使用的预算。可选机器人等待每个 PR 有总计 20 分钟预算,每个检查点最多 10 分钟。
详尽模式是选择加入的:只有明确要求“exhaustive”或“持续迭代直到审查干净”等表述才会启用,最多在 PR 打开后五次推送。裸 PR 编号或“所有打开的 PR”对每个被点名的 PR 使用有界交付。
“立即合并”会覆盖等待:在完成确切头部审查和必需的本地检查后,重新检查硬性合并门槛,然后直接合并,不再等待机器人或进行修复轮次,并将新发现带入后续 PR。不合并的请求保持仅审查;除非另有要求,也使用有界修复预算。
发现分级:使用独立审查的严重程度分级。被携带的发现保持其等级,回复中标注严重程度,携带到后续 PR,解决,并在处置评论中列出。必需的人类审查或未解决的所有者决策不能通过携带来处理。
后续 PR:合并后,再次收集评论面以获取新到达的发现,不等待另一个机器人运行。分类新声明,然后从已合并基底分支,修复所有经核实的携带发现,并打开一个链接已合并 PR 及每个发现的后续 PR。在打开前审查并验证其修复。报告链接;保持其打开,只有用户点名时才处理它。如果原始 PR 被停止或已排队自动合并,则记录携带发现和待处理后续 PR,而不是从未合并基底分支。
多 PR 处理:当有多个 PR 时,同时对所有 PR 运行只读步骤,写入步骤一次一个 PR 进行。用户仍是编排者,绝不把整个 PR 交给子代理。先读取每个 PR 的 baseRefName 和 headRefName,识别堆叠 PR 并按自底向上排序。第 1 步对所有 PR 同时分派一个审查者;第 2、3 步对所有 PR 收集审查和审查状态;第 4 步在一个池中把发现的验证发送给验证工作者,并把所有 PR 的问题合并为一次提问;第 5、6 步按顺序一次一个 PR,每个 PR 使用工作树(.claude/worktrees/pr-N),绝不用主检出。基底 PR 合并后,重新定位堆叠其上的每个 PR,然后自底向上依次执行其第 5、6 步。最后执行一次第 7 步。完成标准:每个被点名的 PR 都已合并、排队,或以阻塞停止,并且一份报告覆盖所有 PR。
使用方式:技能提供了分步流程,包括自行审查(在读取他人审查前先审查差异的正确性、安全性、数据、破坏的契约和缺失测试)、读取审查状态、收集元数据/差异/检查/评论面/提交、对每条发现分类(STALE、AUTO-DISMISS、HALLUCINATION、LEGIT、QUESTION)、修复真实问题、重新检查后合并。在 Claude Code 中可配合子代理类型(如 leek-skills:pr-reviewer、leek-skills:finding-verifier)使用,也可在其他环境使用只读子代理或内联审查。仓库若有 .agents/github-review.md,会读取其审查机器人、自动驳回、从不驳回、合并方法、部署分支等章节;随后遵循仓库的 AGENTS.md / CLAUDE.md 中关于测试、lint 和缓存清理的规则。
适用场景:需要自动化或半自动化处理 GitHub PR 审查与合并的开发工作流,尤其是多 PR、堆叠 PR、机器人审查较多、需要在有限修复轮次内推进合并的场景。
限制:文档未提供安装命令、收费信息、平台支持范围或具体效果数据;它依赖 GitHub 活动、评论面和检查状态,某些行为(如可选等待、通知)取决于宿主环境能力;人类审查者请求的必需审查、CHANGES_REQUESTED、未解决的所有者决策和合并冲突仍会阻止合并。