SuperAPI AI 工具集

github-review-pr

编程与开发

查看项目

更新于 10-15 09:31

技能介绍

用途

github-review-pr 用于分析一个 GitHub Pull Request,并生成结构化的审查报告,内容覆盖变更内容、审查状态和代码质量。

适用场景包括:

  • 在批准或请求修改之前审查 PR
  • 快速了解一个大型 PR 的整体情况
  • 汇总审查状态和未解决的评论

不适用场景包括:

  • 用户想撰写 PR 描述(应使用 write-pr)
  • 用户想合并、编辑或评论 PR
  • 用户想检查重复 issue(应使用 github-review-check-duplicate)

主要能力

该技能按以下步骤工作:

  1. 解析输入:$ARGUMENTS 为 PR 编号或 GitHub URL。若为 URL(如 https://github.com/owner/repo/pull/123),提取 owner/repo 和 PR 编号,并使用 -R owner/repo;若仅为编号,则使用当前仓库;若存在歧义,会向用户询问确切的 PR 编号或 URL。

  2. 获取数据:使用 gh CLI 执行以下命令:

gh pr view <number> [-R owner/repo] --json title,body,state,commits,files,additions,deletions,author,baseRefName,headRefName,createdAt,mergedAt,isDraft,mergeable,comments,reviews,reviewDecision,reviewRequests
gh pr diff <number> [-R owner/repo]

如果 reviews 数组非空,则获取审查评论:

gh api repos/{owner}/{repo}/pulls/{number}/comments
  1. 分析内容,包括:
  • PR 概要:标题、状态(open/merged/closed)、作者、分支(head → base)、草稿状态、可合并状态、创建日期与合并日期(若已合并)
  • 变更概览:变更文件数、新增/删除行数、按目录划分的关键变更区域(源码、测试、配置、文档)、高风险变更(核心逻辑、迁移、认证/安全)
  • 提交分析:提交列表及每个提交的意图
  • 审查状态:审查决定(APPROVED、CHANGES_REQUESTED、REVIEW_REQUIRED 等)、请求的审查者、每位审查者的反馈(审查状态、关键反馈摘要)、未解决的审查评论及核心内容、已达成一致与未解决的事项
  • 代码审查:代码质量观察、潜在问题(bug、性能、安全、回归)、改进建议(按优先级排序)、测试覆盖评估(缺口、需要补充的测试)
  1. 大型 PR 处理:如果文件数达到 30 个以上或新增行数超过 1000,则聚焦源码文件的 diff 分析;对测试、配置和生成文件(锁文件、快照等)仅提供摘要;并在变更概览中说明分析范围。

  2. 输出规则:陈述事实;不确定的观察标记为估计;按严重程度(高/中/低)对问题分类;尽可能引用文件路径作为证据。

使用方式

该技能通过 gh CLI 执行所有 GitHub PR 查询。输入为 PR 编号或 GitHub URL。约束是:除非明确要求,否则不修改 PR 状态(编辑、合并、评论)。

适用场景

  • 在批准或请求修改前审查 PR
  • 快速了解大型 PR
  • 汇总审查状态和未解决评论

限制

  • 不用于撰写 PR 描述
  • 不用于合并、编辑或评论 PR
  • 不用于检查重复 issue
  • 除非明确要求,否则不修改 PR 状态
  • 依赖 gh CLI 进行查询