关于 resolve-pr-parallel
面向 Claude Code 的技能,可并行处理未解决的 PR 评审线程,并指导从获取评论到修改、提交、解决线程和复核的流程。
主要功能
- 01检测当前分支和 PR
- 02获取未解决的评审线程
- 03为每个线程分配 Agent
- 04提交、推送并解决线程
- 05复核是否仍有未解决评论
适用场景
- 01集中处理 PR 中的多条评审意见
- 02将独立修复分配给多个 Agent
- 03确认 GitHub 线程已解决
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ everyinc/ compound-engineering-plugin --skill resolve_pr_parallel安装后在 Claude Code 中输入/resolve_pr_parallel确认已加载。
附带文件scripts/get-pr-commentsscripts/resolve-pr-thread
详细介绍
并行处理 PR 评论
通过为每个线程启动并行 Agent,处理所有未解决的 PR 审查评论。
上下文检测
从当前工作目录检测 Git 上下文:
- 当前分支及关联的 PR
- 所有 PR 评论和审查线程
- 指定编号即可适用于任何 PR
工作流
1. 分析
使用 scripts/get-pr-comments 中的 GraphQL 脚本获取未解决的审查线程:
bash scripts/get-pr-comments PR_NUMBER
此脚本仅返回未解决且未过时的线程,并包含文件路径、行号和评论正文。
如果脚本失败,则改用:
gh pr view PR_NUMBER --json reviews,comments
gh api repos/{owner}/{repo}/pulls/PR_NUMBER/comments
2. 制定计划
按类型创建所有未解决事项的任务列表(例如,在 Claude Code 中使用 TaskCreate,在 Codex 中使用 update_plan):
- 请求的代码修改
- 需要回答的问题
- 风格/约定修正
- 需要补充的测试
3. 实施(并行)
为每个未解决事项启动一个 compound-engineering:workflow:pr-comment-resolver Agent。
如果有 3 条评论,就启动 3 个 Agent,每条评论对应一个。尽量并行运行所有 Agent;如果平台不支持并行调度,则按顺序运行。
控制父上下文的压力:
- 如果有 1–4 个未解决事项,可直接接收并行任务的返回结果
- 如果有 5 个或更多未解决事项,每批最多启动 4 个 Agent
- 要求每个处理 Agent 向父任务返回简短的状态摘要:已处理的评论/线程、已修改的文件、已运行或跳过的测试、仍需人工处理的阻碍,以及仅涉及问题的线程所对应的实质性回复文本,以便父任务发布或核实
如果 PR 规模较大,分批返回的简短结果仍可能过于繁杂,则使用每次运行专属的临时目录,例如 .context/compound-engineering/resolve-pr-parallel/<run-id>/:
- 让每个处理 Agent 在其中为其线程写入一份精简记录
- 仅向父任务返回完成摘要
- 仅重新读取解决线程、回答审查者问题或汇总批次所需的记录
4. 提交并解决
- 提交更改,并使用清晰的提交说明引用 PR 反馈
- 使用 scripts/resolve-pr-thread 以编程方式解决每个线程:
bash scripts/resolve-pr-thread THREAD_ID
- 推送到远程
5. 验证
重新获取评论,确认所有线程均已解决:
bash scripts/get-pr-comments PR_NUMBER
结果应为空数组 []。如果仍有线程未解决,则从第 1 步重新开始。
如果使用了临时目录,且用户未要求检查该目录,则在验证成功后清理该目录。
脚本
- scripts/get-pr-comments - 用于查询未解决审查线程的 GraphQL 查询
- scripts/resolve-pr-thread - 用于按 ID 解决线程的 GraphQL 变更
成功标准
- 处理所有未解决的审查线程
- 已提交并推送更改
- 通过 GraphQL 解决线程(在 GitHub 上标记为已解决)
- 验证时 get-pr-comments 返回空结果
评论
支持 Markdown