SuperAPI AI 工具集

github-code-review

编程与开发

查看项目

更新于 10-15 14:49

技能介绍

用途

github-code-review 用于对代码进行审查,既可以在推送前审查本地改动,也可以审查 GitHub 上的开放 PR。该技能的大部分操作使用普通 git 命令完成,只有在进行 PR 级别交互时,才需要区分使用 gh 还是 curl。

前提条件

  • 已通过 GitHub 认证(参见 github-auth 技能)。
  • 处于一个 git 仓库内。

主要能力

审查本地改动(推送前)

这是纯 git 操作,无需 API。可以获取暂存区改动(git diff --staged)、相对主分支的全部改动(git diff main...HEAD)、仅文件名、以及每个文件的增删统计。审查策略包括先看整体规模与提交记录,再逐文件审查,并结合 read_file 查看完整上下文。还可以检查常见问题,例如遗留的调试语句、TODO、console.log、意外暂存的大文件、密钥或凭据模式、合并冲突标记。

审查 GitHub 上的 PR

可以查看 PR 详情、diff、变更文件列表。使用 gh 时可用 gh pr view、gh pr diff;使用 git + curl 时可通过 GitHub REST API 获取 PR 元数据和文件列表。还可以用普通 git 将 PR 分支检出到本地进行完整审查(git fetch origin pull/123/head:pr-123),从而使用 read_file、search_files、运行测试等。

发表评论与正式审查

可以发表普通 PR 评论、单条行内评论,以及提交正式审查(批准、请求修改、评论)。行内评论需要提供文件路径、commit SHA、行号和 side(新增行用 RIGHT,删除行用 LEFT)。正式审查支持通过 gh 或 curl 原子性地提交多条行内评论,event 取值包括 APPROVE、REQUEST_CHANGES、COMMENT。

审查清单

技能提供系统化的审查清单,覆盖:正确性(代码是否实现声称功能、边界情况、错误路径)、安全性(无硬编码密钥、输入验证、无 SQL 注入/XSS/路径遍历、认证授权检查)、代码质量(命名清晰、无过度复杂、DRY、函数职责单一)、测试(新代码路径是否测试、正常与错误情况、可读可维护)、性能(无 N+1 查询、适当缓存、异步路径无阻塞操作)、文档(公共 API 文档、非显而易见逻辑的注释、README 更新)。

使用方式

推送前审查工作流

  1. git diff main...HEAD --stat 查看改动范围。
  2. git diff main...HEAD 阅读完整 diff。
  3. 对每个改动文件,必要时用 read_file 获取更多上下文。
  4. 应用审查清单。
  5. 按 Critical / Warnings / Suggestions / Looks Good 的结构呈现发现。
  6. 若发现严重问题,可在推送前提供修复建议。

PR 端到端审查工作流

  1. 设置环境(source gh-env.sh 或运行技能顶部的内联设置块)。
  2. 收集 PR 上下文:元数据、描述、变更文件列表、检查状态。
  3. 本地检出 PR 分支。
  4. 阅读 diff 并理解改动,必要时用 read_file 查看完整上下文。
  5. 本地运行自动化检查(如测试、linter)。
  6. 应用审查清单。
  7. 将审查结果发布到 GitHub(正式审查加行内评论)。
  8. 同时发布一条顶层摘要评论。
  9. 清理:切回主分支并删除临时分支。

审查结论的选择

  • Approve:没有严重或警告级问题,只有小建议或全部通过。
  • Request Changes:存在任何应在合并前修复的严重或警告级问题。
  • Comment:有观察和建议,但没有阻塞性问题(不确定或 PR 为草稿时使用)。

适用场景

  • 在推送代码前进行自查或团队审查。
  • 审查 GitHub 上的开放 PR,并留下行内评论和正式审查意见。
  • 需要系统化检查正确性、安全性、代码质量、测试、性能和文档时。

限制

  • 需要已通过 GitHub 认证并处于 git 仓库内。
  • PR 级别交互需要 gh 或 GITHUB_TOKEN 配合 curl。
  • 行内评论需要正确的 commit SHA、文件路径和行号;删除行需使用 side 为 LEFT。
  • 资料未提供该技能的收费、价格、平台支持范围或效果保证等信息。