mcpField
P
pr-review-expert

pr-review-expert

github.com/borghei测试与质量1.0k114 次安装1 周前更新
代码仓库

关于 pr-review-expert

pr-review-expert 是面向 GitHub PR 和 GitLab MR 的结构化代码审查技能,帮助审查者评估影响范围、安全性、兼容性、测试与性能,并按优先级整理发现。

主要功能

  1. 01分析变更影响范围
  2. 02检查差异中的安全问题
  3. 03检测不兼容变更
  4. 04分析测试覆盖情况
  5. 05评估性能风险
  6. 06生成分级审查报告

适用场景

  1. 01审查共享库或 API 变更
  2. 02评估安全敏感代码变更
  3. 03系统检查大型拉取请求

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/borghei/claude-skills --skill pr-review-expert

安装后在 Claude Code 中输入/pr-review-expert确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
best-practices-and-troubleshooting.md
review-workflow-commands.md
writeup-format-and-checklist.md
scripts/
blast_radius_calculator.py
diff_analyzer.py
review_checklist_generator.py

详细介绍

PR 审查专家

为 GitHub PR 和 GitLab MR 提供结构化、系统化的代码审查。审查范围不止于风格细节,还包括影响范围分析、安全漏洞扫描、破坏性变更检测、测试覆盖率差异计算和性能影响评估。生成可供审查者直接使用的报告,并按必须修复、应该修复和建议分类,列出优先级明确的问题。

关键词: PR 审查、代码审查、拉取请求、合并请求、影响范围、安全扫描、破坏性变更、测试覆盖率、审查清单、代码质量

核心能力

  • 影响范围分析 — 追踪差异可能导致哪些文件、服务和下游使用者出问题;按 CRITICAL/HIGH/MEDIUM/LOW 量化严重程度。
  • 安全扫描 — 检测差异中的 SQL 注入、XSS 攻击向量、硬编码密钥、身份验证绕过、不安全的加密、路径遍历和原型污染。
  • 破坏性变更检测 — 标记 API 删除或重命名、响应架构和必填字段变更、数据库列删除、环境变量变更以及 TS 接口编辑。
  • 测试覆盖率分析 — 新代码与新测试的比例、新增公共函数的缺失测试、没有对应代码删除的测试删除,以及覆盖率差异。
  • 性能评估 — N+1 查询模式、包体积回归、无界查询和缺失索引。
  • 可供审查者直接使用的输出 — 按优先级列出必须修复 / 应该修复 / 建议项的报告、35 项检查清单,以及统一的评论标签。

适用场景

  • 合并任何涉及共享库、API 或数据库架构的 PR 之前。
  • PR 较大(变更超过 200 行),需要结构化审查时。
  • 审查涉及安全敏感代码路径的 PR(身份验证、支付、个人身份信息处理)。
  • 发生事故后,主动审查类似代码变更。
  • 为新贡献者提供支持,全面审查其 PR 并反馈。

首先澄清

审查前,先确认以下输入。如果有输入缺失或含糊不清,且会影响审查结果,请先询问;如果不会影响,则采用合理的默认值,并说明所用默认值。

  • PR 和基分支: 影响范围和覆盖率差异均以基分支为准;如果基分支已过时,报告中会包含不属于该 PR 的变更。
  • 变更目的:(关联的工单或一句话说明意图)——缺少此信息时,预期的行为变更可能会被误报为缺陷。
  • 审查深度: 进行全面的影响范围和安全审查,还是快速检查小规模变更——这决定执行哪些工作流步骤。

针对本次请求,询问最重要的两到三项输入。如果用户说“直接审查”,就继续审查,并在报告开头说明你的假设。

工具

工具用途命令
blast_radius_calculator.py根据已更改文件的导入链 / 依赖树,计算 PR 的影响范围git diff --name-only main...HEAD | python scripts/blast_radius_calculator.py --root src
diff_analyzer.py分析差异中的风险指标(大文件、敏感路径、配置 / 破坏性变更 / 安全模式)gh pr diff $PR | python scripts/diff_analyzer.py --json
review_checklist_generator.py根据已更改文件的类型 / 模式生成定制审查清单git diff --name-only main...HEAD | python scripts/review_checklist_generator.py

反模式

审查风格,而不是实质内容

错误做法: 大多数评论都在讨论命名和格式。 原因: 首次阅读时,风格问题一目了然;逻辑和安全问题则需要结合上下文判断。 建议做法: 将格式问题交给代码检查工具处理。审查时关注影响范围、安全性、正确性和错误处理路径,并为每条评论标注 must:、nit: 或 question:。

根据差异大小判断风险

错误做法: 一个对共享工具的五行修改,因为只有五行就获得批准。 原因: 屏幕上唯一可见的风险指标就是差异大小。 建议做法: 对已更改的文件运行 blast_radius_calculator.py。共享模块中的微小修改也可能导致所有导入它的服务出问题。

批准未经测试的成功路径

错误: PR 只测试了成功情况。 原因: 测试通过了,覆盖率数字看起来也不错。 改进做法: 确认错误路径和边界情况都有测试,并指出任何没有测试的新公共函数。

更多常见问题和故障排查表:references/best-practices-and-troubleshooting.md。

参考资料

根据任务加载相应的参考资料——保持此文件精简,按需获取详细信息:

  • references/review-workflow-commands.md — 包含确切 gh/grep 命令目录的 6 步审查工作流,用于收集上下文、分析影响范围、安全扫描、检测破坏性变更、评估覆盖率变化和性能影响(另含影响范围严重性表和覆盖率规则)。实际执行审查时阅读。
  • references/writeup-format-and-checklist.md — 审查报告模板及示例、完整的 35 项审查清单,以及评论标签分类。撰写审查结果时阅读。
  • references/best-practices-and-troubleshooting.md — 常见审查误区、最佳实践习惯、故障排查表和成功标准。审查前后阅读,以进行质量控制。

范围与限制

此技能涵盖:

  • 使用包含 35 项以上内容的清单,对 GitHub PR 和 GitLab MR 进行结构化审查
  • 分析单体仓库和多服务架构的影响范围
  • 对差异进行静态安全扫描,查找常见漏洞模式(SQLi、XSS、机密信息、身份验证绕过)
  • 检测 API、数据库架构、TypeScript 接口和环境变量的破坏性变更

此技能不涵盖:

  • 自动修复代码或重构——代码生成请使用 engineering/saas-scaffolder 或 engineering/migration-architect
  • 运行时安全分析、SAST/DAST 工具编排或 CVE 数据库查询——依赖项级漏洞扫描请使用 engineering/dependency-auditor
  • CI/CD 流水线配置或构建失败排查——流水线设计请使用 engineering/ci-cd-pipeline-builder
  • 性能基准测试或负载测试——性能分析和优化指导请使用 engineering/performance-profiler

集成点

Skill集成方式数据流
engineering/dependency-auditor在审查添加或升级软件包的 PR 前运行依赖项审计审计报告会纳入审查报告的安全部分
engineering/ci-cd-pipeline-builder将审查清单门槛嵌入 CI 流水线,作为自动化 PR 检查清单条目会成为流水线中的通过/失败信号
engineering/performance-profiler将 N+1 和无界查询问题升级,以进行详细的性能分析审查中标记的代码路径会成为性能分析目标
engineering/migration-architect验证包含架构变更的 PR 中数据库迁移的安全性迁移风险评估会补充破坏性变更部分
engineering/release-manager将破坏性变更检测结果纳入发行说明和变更日志检测到的破坏性变更会自动填入发行文档
engineering/api-design-reviewer对照 API 设计规范交叉检查 API 端点变更API 审查结果会并入影响范围和破坏性变更部分

评论

支持 Markdown