用途:处理某个 PR 上的评审评论。以 PR 编号作为参数调用,例如 /resolve-pr-reviews 1041。
主要能力与流程:
- 拉取未解决评论。使用 GitHub API 获取行内评审评论与 issue 级评论,例如 gh api repos/{owner}/{repo}/pulls/{pr}/comments --jq '.[] | select(.position != null or .line != null)' 和 gh api repos/{owner}/{repo}/issues/{pr}/comments。过滤掉部署/CI 机器人(如 Vercel 部署预览、CI 状态检查)、已解决线程和自己的历史回复;保留 AI 评审评论(Claude 评审机器人、CodeRabbit 行内建议)和人工评审意见。
- 逐条分析。阅读被评论的代码,理解评审者关切,给出具体修复方案或跳过理由,并按 must fix、good idea、skip 分类严重程度。
- 呈现给用户。必须先通过 AskUserQuestion 询问处理方式:逐条处理(默认)或一次性全部展示,等待用户选择后再继续。每条展示评审意见摘要、自己的独立分析(需核实评论是否成立,而非照搬)、建议修复的代码差异或跳过理由以及推荐意见。
- 应用已批准的修复。
- 提交并推送。运行 /commit 技能完成格式化、lint、类型检查、暂存与提交,然后执行 git push。
- 在 GitHub 回复评论。行内评论回复使用 gh api repos/{owner}/{repo}/pulls/{pr}/comments/{comment_id}/replies --method POST -f body="<reply text>";issue 级评论使用 gh api repos/{owner}/{repo}/issues/{pr}/comments --method POST -f body="<reply text>"。已修复回复“Fixed in <commit_sha>.”,跳过则用一两句说明原因,回复顶层评论时用 @username 提及评审者。
限制与注意事项:不要猜测评论 ID,必须先通过 API 获取;区分行内评论线程与一般 PR 评论的接口;不要回复部署/CI 机器人,但应回复 AI 评审机器人;回复保持简洁。