Pr review
Review recent PRs with deep context and label-specific checksFrom its SKILL.md
npx -y skills add toss/es-toolkit --skill pr-reviewAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
2.6 KB, as published. Nobody here has run it
PR Review
Fetch recent PRs, classify, read source code, and produce contextual reviews.
Input
$ARGUMENTS — Number of PRs (default: 10)
Examples:
/pr-review— 10 most recent open PRs/pr-review 20— 20 PRs
Workflow
1. Fetch recent PRs
gh pr list --repo toss/es-toolkit --state open --limit {count} --json number,title,author,labels,createdAt
2. Triage each PR
Run /pr-triage {number} for each PR to classify.
3. Deep review per PR
For each PR, go beyond classification — read the actual source code and provide context:
a. Read current code
Read the files being modified on main to understand the current behavior:
- Function source: what it does, how it works
- Existing tests: what's already covered
- JSDoc: documented behavior and examples
b. Understand the PR change
Read the diff to understand what's changing:
- What's the before vs after?
- Why does the contributor say this change is needed?
- Does the change match what the code actually needs?
c. Assess impact
- Breaking changes: Does the function signature change? Will existing users be affected?
- JS spec alignment: Does current behavior follow JS/lodash conventions? Does the PR break that?
- Scope: Are all affected files updated? (e.g., docs in all 4 languages, related functions)
- Design principles: Does this align with es-toolkit's 85% use case / simplicity philosophy?
d. Label-specific checks
- compat-fix: Run
/compat-review {number} - new-function: Check completeness (impl + spec + re-export + 4 lang docs)
- core-change:
yarn vitest run src/{category}/{fn}.spec.ts+ review breaking impact - docs: Check all 4 language files updated consistently
- types:
tsc --noEmit
4. Detect duplicates
Group PRs by same function name or same files modified.
5. Report per PR
For each PR, output:
### 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. Summary
## PR Review — {date}
| # | Title | Label | Verdict |
|---|-------|-------|---------|
- {N} ready to merge
- {N} need changes
- {N} need discussion
- {N} potential duplicates