用途
resolve-pr-parallel 用于批量解决 PR 中所有未解决的评审评论。它通过为每个评审线程并行启动代理来处理反馈,适合在需要集中处理 PR 评审意见、解决评审线程或批量修复 PR 评论时使用。
主要能力
- 自动检测 git 上下文:当前分支及关联的 PR,以及所有 PR 评论和评审线程。
- 支持通过指定 PR 编号处理任意 PR。
- 使用 GraphQL 脚本获取未解决、未过时的评审线程,包含文件路径、行号和评论内容。
- 为每个未解决项并行启动 pr-comment-resolver 代理进行处理。
- 通过 GraphQL 变更以编程方式将线程标记为已解决。
使用方式
工作流程分为五步:
- 分析:使用脚本获取未解决的评审线程:
${CLAUDE_PLUGIN_ROOT}/skills/resolve-pr-parallel/scripts/get-pr-comments PR_NUMBER
该脚本仅返回未解决、未过时的线程,包含文件路径、行号和评论内容。如果脚本失败,可回退使用:
gh pr view PR_NUMBER --json reviews,comments
gh api repos/{owner}/{repo}/pulls/PR_NUMBER/comments
-
规划:创建 TodoWrite 列表,将所有未解决项按类型分组,例如:请求的代码更改、需要回答的问题、风格/约定修复、需要补充的测试。
-
实现(并行):为每个未解决项并行启动一个 pr-comment-resolver 代理。例如有 3 条评论就启动 3 个代理:
Task pr-comment-resolver(comment1)
Task pr-comment-resolver(comment2)
Task pr-comment-resolver(comment3)
始终为每个待办项并行运行所有子代理/任务。
- 提交与解决:提交更改,提交信息需清晰引用 PR 反馈;然后以编程方式解决每个线程:
${CLAUDE_PLUGIN_ROOT}/skills/resolve-pr-parallel/scripts/resolve-pr-thread THREAD_ID
最后推送到远程。
- 验证:重新获取评论以确认所有线程均已解决:
${CLAUDE_PLUGIN_ROOT}/skills/resolve-pr-parallel/scripts/get-pr-comments PR_NUMBER
应返回空数组 []。如果仍有线程未解决,从第 1 步重复。
脚本
scripts/get-pr-comments:用于查询未解决评审线程的 GraphQL 查询。scripts/resolve-pr-thread:用于按 ID 解决线程的 GraphQL 变更。
成功标准
- 所有未解决的评审线程均已处理。
- 更改已提交并推送。
- 线程已通过 GraphQL 解决(在 GitHub 上标记为已解决)。
- 验证时 get-pr-comments 返回空结果。
限制
资料未提供关于平台兼容性、权限要求、失败重试策略或性能上限的更多说明。