用途
github-pr-review 是一个面向 GitHub Pull Request 的综合性代码评审技能。其目标是在 PR 中直接给出可操作的修改建议,并通过 GitHub 网页界面的「Commit suggestion」按钮让开发者一键应用,同时明确给出评审结论(批准、要求修改或仅评论)。
主要能力
- 使用与具体技术栈无关的评审清单进行代码评审,覆盖安全(密钥、注入、认证)、正确性(逻辑、状态、API)、测试(覆盖率、质量)、代码质量(结构、DRY)、性能(查询、内存)以及文档。
- 通过 ```suggestion 代码块生成内联修改建议,GitHub 界面会显示「Commit suggestion」按钮。
- 支持单行建议、多行建议,以及在需要大范围重构时提供完整文件替换(放在可展开的 details 区域中)。
- 支持批量建议:提示开发者使用「Add suggestion to batch」,一次性应用所有建议。
- 通过 GitHub API 以编程方式添加评审评论。
- 具备评审决策逻辑:APPROVE(无严重/高优先级问题)、REQUEST_CHANGES(发现严重/高优先级问题)、COMMENT(存在中等问题但仍可合并)。
- 可与技术特定技能配合使用,例如 theone-unity-standards、theone-react-native-standards、theone-cocos-standards,以及 code-review、docs-seeker。
触发方式
自动触发场景包括:用户要求「review PR」或「review pull request」;用户提供 GitHub PR URL 要求评审;用户要求「check PR」或「analyze PR changes」;用户请求带建议的代码评审;用户要求「help review this PR」。也可通过 /github-pr-review 手动调用。
使用方式
使用 gh 命令行工具获取 PR 详情与 diff:
gh pr view <PR_NUMBER> --repo <OWNER/REPO> --json title,body,files,commits
gh pr diff <PR_NUMBER> --repo <OWNER/REPO>
分析改动后,通过 GitHub API 添加内联建议评论:
COMMIT_ID=$(gh pr view <PR> --repo <REPO> --json commits --jq '.commits[-1].oid')
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
/repos/<OWNER>/<REPO>/pulls/<PR_NUMBER>/comments \
-f body="<suggestion text with ```suggestion block>" \
-f commit_id="$COMMIT_ID" \
-f path="<file_path>" \
-F position=<line_number>
随后添加汇总评论,说明新增建议数量、如何应用(逐条或批量)以及将解决的问题。最后必须提交评审决定:
gh pr review $PR --repo $REPO --approve --body "..."
gh pr review $PR --repo $REPO --request-changes --body "..."
gh pr review $PR --repo $REPO --comment --body "..."
资料中给出了完整的端到端工作流示例(PR_NUMBER=984,REPO="The1Studio/TheOneFeature"),包括获取 commit ID、逐文件添加建议、添加汇总评论。
建议语法与位置计算
GitHub 建议块语法示例:
```suggestion
#nullable enable
namespace YourNamespace
```
position 参数是 diff 位置(从第一行改动开始计为 1,包含上下文与改动行),不是文件行号。资料给出了从 @@ hunk 头开始计数的示例。
资料中列出的常见评审模式包括:缺少 #nullable enable 指令、缺少 sealed 关键字、公有字段应改为属性、移除 #region/#endregion 注释等,并强调应解释修改原因、引用编码规范、避免重叠建议、不要为需要讨论的架构问题使用内联建议。
与自动化评审服务配合
对于 The1Studio 仓库,可在任意 PR 中评论 /review 触发自动化评审:webhook 获取 PR 文件与 diff,调用 Claude Code 分析,发布带 ```suggestion 块的内联评论,GitHub 在每条评论上显示「Apply suggestion」按钮。资料给出的服务架构为:github-review-service(端口 16300,webhook 处理与评审编排)、claude-service(端口 16304,Claude Code API 网关)、postgres(端口 16305,评审历史存储)、dashboard(端口 16302,监控 UI)。评审按 commit SHA 去重,同一 commit 不会重复评审。资料还提供了手动 API 触发示例(POST http://localhost:16300/api/review,含 owner、repo、prNumber、installationId 字段)。
适用场景与限制
适用于需要标准化、可一键应用的 PR 代码评审流程,尤其适合配合技术特定规范技能使用。资料同时说明了常见故障排查:创建建议时出现 404 通常是 position 值错误;建议不显示「Commit suggestion」按钮通常是 ```suggestion 语法或格式不正确;建议应用后破坏代码通常是缩进不匹配或上下文不足,需与文件既有缩进一致、包含足够上下文并在本地先行验证。关于价格、收费与授权方式,资料暂未提供。