SuperAPI AI 工具集

cursor-make-pr-easy-to-review

编程与开发

查看项目

更新于 10-16 06:07

技能介绍

用途

该技能的目标是让 Pull Request 更容易被评审:帮助评审者快速理解变更意图、重要文件和风险。默认目标是在不改变代码行为的前提下提升可评审性。

主要能力

  • 解析目标 PR:根据用户提供的 URL 或当前分支确定要处理的 PR。
  • 检查现状:查看提交、diff 规模、变更路径、生成文件以及 PR 描述。
  • 识别可评审性问题:噪声提交、过时描述、无关改动、机械改动与逻辑改动混杂、缺少测试、评审入口不清晰等。
  • 提出计划:在重写历史或强制推送之前先给出方案。
  • 应用安全改进:实施改进后,验证目录树或 diff 仍与预期代码一致。

使用方式

历史清理

仅在用户要求或同意计划时才重写历史。重写前可执行:

gh pr view <PR> --json title,headRefName,baseRefName,state,commits
git fetch origin <headRefName> <baseRefName>
ORIGINAL_TREE=$(git rev-parse origin/<headRefName>^{tree})

良好的提交分组通常遵循依赖顺序:

  1. Schema/存储或生成的 API 定义。
  2. 核心逻辑。
  3. 接线与集成。
  4. UI 或表层行为。
  5. 测试。

重写后验证内容一致性:

echo "Original tree: $ORIGINAL_TREE"
echo "Current tree:  $(git rev-parse HEAD^{tree})"
git diff origin/<headRefName> --stat

如果目录树发生了非预期的变化,不要推送。

评审指引

当代码行为应保持不变时,优先通过 PR 描述和评审说明来改善可评审性:

  • 添加与实际 diff 一致的 TL;DR。
  • 将核心文件与生成或机械文件分开说明。
  • 指出有风险的行为变更、迁移顺序、发布计划和测试覆盖。
  • 当 issue 跟踪器、看板或设计文档能解释意图时,提供链接。

适用场景

  • 提交历史杂乱、需要整理为清晰分组以便评审。
  • PR 描述过时或缺失,评审者难以理解意图。
  • 变更中混有生成文件、机械改动与核心逻辑改动,需要区分重点。
  • 需要向评审者标注风险、迁移顺序、发布计划与测试覆盖。

限制与护栏

  • 绝不把有意义的行为变更隐藏在“清理”之中。
  • 除非用户明确要求,否则不要绕过 hooks。
  • 如果 PR 过大,无法仅靠说明变得可评审,应建议拆分,而不是围绕问题做表面修饰。
  • 重写历史或强制推送前必须先提出计划并获得用户同意。
  • 重写后若目录树非预期变化,不得推送。