SuperAPI AI 工具集

pr-review

编程与开发

查看项目

更新于 10-16 02:21

技能介绍

用途

pr-review 是一个用于审查 GitHub 或 GitLab Pull Request 的技能。它接收一个 PR 链接或编号,对该 PR 进行较为全面的审查,分析其相对上游 merge base 的 diff。

前置条件

技能要求先进行两项检查:确认当前是否处于 git 仓库中,以及 gh CLI 是否可用并已完成认证。如果不在 git 仓库中,会提示用户导航到某个 git 项目;如果 gh 未认证,会提示用户先运行 gh auth login。

输入

用户提供以下任一格式的 PR 链接:完整 URL(如 https://github.com/owner/repo/pull/123),或仓库内的短格式(如 #123 或 123)。

主要流程

  1. 提取 PR 信息:通过 gh pr view 获取 PR 元数据(编号、标题、正文、状态、作者、base/head 分支与提交、增删行数、改动文件、提交、审查决定、审查、标签、里程碑、创建/更新时间),获取 diff 与改动文件列表,并通过 gh api 获取带增删统计的详细文件改动。

  2. 分析 merge base:获取 base 与 head 提交,在本地克隆上 git fetch 后通过 git merge-base 找出合并基点。

  3. 深度代码分析:对每个改动文件,阅读完整 diff、阅读周边上下文、识别代码库使用的编码模式、检查是否有对应的测试改动。

输出格式

审查结果必须按固定顺序包含以下部分:

  • PR 摘要:标题、作者、分支方向、改动文件数与增删行数,以及该 PR 做了什么、关键改动列表。
  • 审查指南:根据改动类型,以表格形式列出审查者应关注的领域、优先级(高/中/低)与具体检查点。
  • 发现的问题:按严重程度排序(严重 → 高 → 中 → 低 → 吹毛求疵)。每个问题包含文件与行号、问题描述、影响与修复建议。
  • 测试覆盖分析:本 PR 的测试改动(文件、类型、覆盖内容)、覆盖评估(新代码是否被测试、边界情况、回归测试)、建议补充的测试。
  • 疑问与不确定点:列出不确定并希望澄清的问题,附带背景与假设。
  • 审查结论:以表格形式给出代码质量、安全性、性能、测试覆盖、文档各方面的状态与简要说明,并给出总体结论(批准 / 请求修改 / 需要讨论)。

内置审查清单

技能内置一份分析用清单,覆盖以下维度:代码质量(无重复代码、函数聚焦且小、命名清晰、无死代码或注释掉的代码、错误处理得当、无应可配置的硬编码值)、安全性(无硬编码密钥或凭据、必要处有输入校验、无 SQL 注入、无 XSS、有认证/授权检查、敏感数据妥善处理)、性能(无 N+1 查询、无不必要的 React 重渲染、无内存泄漏、使用高效算法、异步上下文中无阻塞操作)、破坏性变更(API 契约保持或已记录、数据库迁移可回滚、高风险改动有特性开关、保持向后兼容)、文档(公共 API 有文档、复杂逻辑有注释、必要时更新 README、面向用户的改动有 CHANGELOG 条目)。

使用原则

审查时要求具体:始终引用确切文件路径与行号;建设性:给出修复建议而非仅指出问题;排优先级:严重问题在前、吹毛求疵在后;考虑上下文:顾及代码库既有模式;遇不确定时应提问而非假设。

限制

资料未提供该技能支持的 GitLab 具体调用方式与命令细节,也未提供收费、价格或平台支持范围等信息。