SuperAPI AI 工具集

handle-pr-comments

编程与开发

查看项目

更新于 10-16 05:29

技能介绍

用途

Handle PR Comments 用于交互式地逐条分类和处理 GitHub 拉取请求(PR)上的评审评论。当用户要求处理、回应或解决 PR 评审评论时使用。

主要能力

  • 定位 PR:使用给定的 PR 编号或 URL,否则通过当前分支推导(gh pr view);若不存在 PR 则停止。
  • 获取未解决的评审线程:通过拉取请求上的 GraphQL reviewThreads 字段获取,请求每个线程的 id、isResolved、isOutdated、path、line 和 comments,并过滤出 isResolved == false。资料特别说明应使用 GraphQL 而非 REST,因为只有 GraphQL 暴露线程 id 和解决状态。
  • 逐条循环处理:每次处理一条评论,包括:
    • 总结反馈内容及文件/行号,并阅读周边代码;
    • 给出具体的修复建议;
    • 通过 AskQuestion 提供选项让用户选择:应用建议修复 / 应用其他修复 / 仅回复 / 跳过;
    • 应用用户的选择;
    • 如适用,总结所做更改并询问是否提交;
    • 通过 GraphQL resolveReviewThread 变更解决该线程。
  • 最终报告:输出已更改、已提交、已回复、已跳过和已解决内容的概览,并包含链接。

使用方式

该技能以交互方式运行,每一步处理都需要用户确认。用户可提供 PR 编号或 URL,也可由当前分支自动推导。处理过程中,技能会针对每条评论询问处理方式,用户可选择应用建议修复、应用其他修复、仅回复或跳过。

适用场景

  • 需要集中清理 PR 上未解决的评审评论。
  • 希望在处理每条评论时获得人工确认,而非自动批量处理。
  • 需要区分真实用户评论与 AI 代理(如 Copilot、CodeRabbit)评论的场景。

限制与注意事项

  • 资料中的注意事项包括:优先处理真实用户评论,再处理 AI 代理(Copilot、CodeRabbit)的评论。
  • 对重复评论进行分组;当同一或类似问题被多次提及时,一并处理。
  • 每次更改应单独提交。
  • 若不存在 PR,则停止处理。
  • 关于收费、价格、平台支持范围等更多信息,资料中暂未提供。