mcpField
P
pr-review

pr-review

github.com/toss测试与质量11.4k193 次安装今天更新
代码仓库

关于 pr-review

用于审查 toss/es-toolkit 的近期开放 PR,涵盖分类和源码层面的评估。它检查改动、测试、范围与影响,并汇总各 PR 的发现和结论。

主要功能

  1. 01获取并分类开放 PR
  2. 02阅读现有源码和测试
  3. 03评估改动及破坏性影响
  4. 04按标签检查特定要求
  5. 05归类重复改动并汇总结论

适用场景

  1. 01批量审查近期拉取请求
  2. 02评估 PR 的实现与测试覆盖
  3. 03发现多个 PR 的改动重叠

安装

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

$npx skills add https://github.com/toss/es-toolkit --skill pr-review

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

详细介绍

PR 评审

获取近期 PR,对其分类、阅读源代码并提供有上下文的评审。

输入

$ARGUMENTS — PR 数量(默认:10)

示例:

  • /pr-review — 最近的 10 个开放 PR
  • /pr-review 20 — 20 个 PR

工作流

1. 获取近期 PR
gh pr list --repo toss/es-toolkit --state open --limit {count} --json number,title,author,labels,createdAt
2. 对每个 PR 进行初步分类

对每个 PR 运行 /pr-triage {number} 进行分类。

3. 对每个 PR 进行深入评审

对每个 PR,不要止步于分类 — 阅读实际源代码并提供上下文:

a. 阅读当前代码

阅读 main 分支上被修改的文件,了解当前行为:

  • 函数源代码:它的作用及工作方式
  • 现有测试:已覆盖的内容
  • JSDoc:记录的行为和示例
b. 了解 PR 的改动

阅读差异内容,了解改动:

  • 改动前后有什么区别?
  • 贡献者为什么认为需要这项改动?
  • 这项改动符合代码的实际需求吗?
c. 评估影响
  • 破坏性变更:函数签名是否有变化?会影响现有用户吗?
  • JS 规范对齐:当前行为是否遵循 JS/lodash 惯例?PR 是否会破坏这一点?
  • 范围:所有受影响文件都已更新吗?(例如,是否更新了 4 种语言的文档及相关函数)
  • 设计原则:是否符合 es-toolkit 的 85% 使用场景 / 简洁性理念?
d. 针对标签的检查
  • compat-fix:运行 /compat-review {number}
  • new-function:检查是否完整(实现 + 规范 + 重新导出 + 4 种语言的文档)
  • core-change:运行 yarn vitest run src/{category}/{fn}.spec.ts + 评估破坏性影响
  • docs:检查 4 种语言的文件是否一致更新
  • types:运行 tsc --noEmit
4. 检测重复项

按相同函数名或相同修改文件对 PR 进行分组。

5. 逐个 PR 汇报

对每个 PR,输出:

### PR #{number} — {title}

**Classification**: {labels}
**Changed files**: {summary}

**Current code**: {what the function does now, with code snippet}
**PR change**: {what's changing and why, with before/after}
**Context**: {JS spec, lodash behavior, design principle considerations}

**Checkpoints**:
- {specific things to verify}

**Verdict**: {merge / merge with changes / hold for discussion / reject}
6. 总结
## PR Review — {date}

| # | Title | Label | Verdict |
|---|-------|-------|---------|

- {N} ready to merge
- {N} need changes
- {N} need discussion
- {N} potential duplicates

评论

支持 Markdown