Community写作与编辑github.com

PR审查技能

帮助Claude更好地进行Pull Request审查的辅助技能。

PR审查技能 是什么?

该技能提供了一套结构化的审查流程,用于协助AI Agent(如Claude)完成GitHub Pull Request的审查。它明确区分了“规则”(从Playbook中读取)和“操作”(该技能自身实现),确保AI不会混淆审查准则与操作步骤。技能要求审查前必须先获取关联工单(ticket),以确定工单类型(功能/跟进/调查),从而应用不同的审查范围规则。审查过程依次执行“工单确认 → 上下文收集 → 逐文件审查 → 结构化输出”,输出格式为单行裁决后跟按类型(阻塞/微小/疑问)分组的标准块,每个块包含位置、可复制的评论块和原因。该技能还支持直接通过`gh pr review`发布评论或先在聊天中草拟。它支持GitHub CLI操作,适用于Cursor、Claude Code等需要开发工作流程的AI Agent。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add ChristianSavinoDP/Claude-Skills

Installed? Explore more 写作与编辑 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

PR审查

审查PR的流程。审查规则(语气、评论分类、决策流程、不应做的事)位于Playbook的“PR审查”部分;本技能涵盖的是如何实施。不要在此重述规则,而是直接应用它们。Playbook的“共享标准”在整个过程中适用(简洁、无AI废话、验证而非断言、绝不捏造)。

审查前

  1. 先索要工单。根据Playbook的强制第一步,在获取工单之前不要获取diff或进行任何分析。工单设定了工作类型(功能 vs 跟进 vs 调查)和验收标准,这些会改变审查方式。
  2. 确定PR:如果没有给出,请询问PR编号/URL。

收集上下文

  • 使用GitHub CLI获取diff和元数据:gh pr view <pr> 和 gh pr diff <pr>。
  • 对于调查类型的PR,还需检查 docs/investigations/ 目录中的预期格式。
  • 当行为依赖于周围代码时,要完整阅读变更文件,而不仅仅是diff片段。

审查

逐文件遍历diff。应用Playbook的“PR审查”部分:

  • 运行Playbook检查清单(验收标准、编译/测试失败、调用者是否更新、测试覆盖率、调查类PR的证据)。
  • 根据Playbook将每个发现分类为阻塞、微小或疑问。
  • 使用Playbook的决策流程判断每个观察是否值得发表评论。
  • 根据工单类型确定范围规则(跟进:在此解决所有问题;功能:重构也有效)。从工单确认类型。
  • 遵循Playbook的“验证而非断言”:在重复他人说法之前自己进行检查。运行 gh pr checks <pr> 检查CI,在仓库中grep删除的符号。PR描述是作者的声明,而不是证据。
  • 遵循Playbook的“不得静默删除现有行为”:未确认的行为回归是一个阻塞性的发现,即使作者在PR描述中提到了它。

输出

遵循Playbook的“PR审查 > 格式”部分。直接在聊天中输出审查结果(除非用户要求,否则不要输出为文件),格式为一行裁决后跟发现项。这不是散文、对话日志或“已收集上下文”/“初步审查”等章节。每个发现项精确为:一个位置+代码引用行、一个可复制的围栏块形式的评论、以及原因说明。具体来说,一个发现项如下所示:

### 阻塞

`internal/adapters/users/adapter.go:281`
```go
_, err := u.providersClient.Update(ctx, request)
```

评论(粘贴到PR中):

这丢弃了这些写入所依赖的最终一致性重试。Core到Users的延迟导致 NotFound 错误,而新的仅临时错误策略不会重试,因此写入会立即失败。


原因:验收标准#3要求确认没有路径依赖于重试应用级错误;该路径确实依赖于重试,而diff在未确认窗口期已消失的情况下移除了它。
````

每个发现重复这样一个块,并按 `### 阻塞` / `### 微小问题` / `### 疑问` 分组(省略空分组)。“评论”后的围栏块是用户唯一需要复制到GitHub的内容;其余内容仅供导航。如果一切正常,仅输出裁决行。

## 发布评论(仅在要求时)

如果用户希望直接发布评论而不是在聊天中草拟,请先确认,然后使用 `gh pr review` / `gh pr comment`。默认在聊天中草拟。

相关技能