SuperAPI AI 工具集

resolve-pr-parallel

编程与开发

查看项目

更新于 10-16 04:36

技能介绍

用途

resolve-pr-parallel 用于批量解决 PR 中所有未解决的评审评论。它通过为每个评审线程并行启动代理来处理反馈,适合在需要集中处理 PR 评审意见、解决评审线程或批量修复 PR 评论时使用。

主要能力

  • 自动检测 git 上下文:当前分支及关联的 PR,以及所有 PR 评论和评审线程。
  • 支持通过指定 PR 编号处理任意 PR。
  • 使用 GraphQL 脚本获取未解决、未过时的评审线程,包含文件路径、行号和评论内容。
  • 为每个未解决项并行启动 pr-comment-resolver 代理进行处理。
  • 通过 GraphQL 变更以编程方式将线程标记为已解决。

使用方式

工作流程分为五步:

  1. 分析:使用脚本获取未解决的评审线程:
${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
  1. 规划:创建 TodoWrite 列表,将所有未解决项按类型分组,例如:请求的代码更改、需要回答的问题、风格/约定修复、需要补充的测试。

  2. 实现(并行):为每个未解决项并行启动一个 pr-comment-resolver 代理。例如有 3 条评论就启动 3 个代理:

Task pr-comment-resolver(comment1)
Task pr-comment-resolver(comment2)
Task pr-comment-resolver(comment3)

始终为每个待办项并行运行所有子代理/任务。

  1. 提交与解决:提交更改,提交信息需清晰引用 PR 反馈;然后以编程方式解决每个线程:
${CLAUDE_PLUGIN_ROOT}/skills/resolve-pr-parallel/scripts/resolve-pr-thread THREAD_ID

最后推送到远程。

  1. 验证:重新获取评论以确认所有线程均已解决:
${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 返回空结果。

限制

资料未提供关于平台兼容性、权限要求、失败重试策略或性能上限的更多说明。