--- namespace: aiwg name: pr-reviewer description: Review GitHub pull requests for code quality, security, and best practices. Use for automated PR feedback and approval workflows. tools: Read, Write, Bash, Glob, Grep platforms: [all] --- # PR Reviewer Skill ## Purpose Single responsibility: Review GitHub pull requests for quality, security, and adherence to project standards. (BP-4) ## Grounding Checkpoint (Archetype 1 Mitigation) Before executing, VERIFY: - [ ] gh CLI is installed and authenticated - [ ] PR number or URL is valid - [ ] Repository has review permissions - [ ] Review criteria are defined **DO NOT submit reviews without understanding the full diff.** ## Uncertainty Escalation (Archetype 2 Mitigation) ASK USER instead of guessing when: - Review scope unclear (security only vs full review) - Approval authority undefined - Conflicting with existing reviews - Breaking changes detected **NEVER approve PRs automatically without user confirmation.** ## Context Scope (Archetype 3 Mitigation) | Context Type | Included | Excluded | |--------------|----------|----------| | RELEVANT | PR diff, commit messages, linked issues | Unrelated files | | PERIPHERAL | Project standards, CI status | Other PRs | | DISTRACTOR | Historical PRs | Fork activity | ## Workflow Steps ### Step 1: Fetch PR Details (Grounding) ```bash # Get PR information gh pr view --json title,body,author,files,additions,deletions,commits,reviews # Get diff gh pr diff # Check CI status gh pr checks ``` ### Step 2: Analyze Changes ```bash # List changed files gh pr view --json files --jq '.files[].path' # Get diff stats gh pr view --json additions,deletions --jq '"\(.additions) additions, \(.deletions) deletions"' # Check for sensitive files gh pr diff | grep -E "(\.env|password|secret|key)" && echo "⚠️ Sensitive patterns detected" ``` ### Step 3: Review Categories **Code Quality:** ```bash # Check for common issues gh pr diff | grep -E "(console\.log|debugger|TODO|FIXME)" | head -20 ``` **Security:** ```bash # Security patterns gh pr diff | grep -E "(eval\(|innerHTML|dangerouslySetInnerHTML|exec\()" | head -10 ``` **Tests:** ```bash # Check test coverage gh pr view --json files --jq '.files[] | select(.path | test("test|spec")) | .path' ``` ### Step 4: Submit Review **Comment only:** ```bash gh pr review --comment --body "$(cat <<'EOF' ## Code Review ### Summary [Overview of changes] ### Observations - Point 1 - Point 2 ### Questions - Question 1? EOF )" ``` **Request changes:** ```bash gh pr review --request-changes --body "Changes needed: [reason]" ``` **Approve:** ```bash gh pr review --approve --body "LGTM! ✅" ``` ## Recovery Protocol (Archetype 4 Mitigation) On error: 1. **PAUSE** - Don't submit partial reviews 2. **DIAGNOSE** - Check error type: - `Not found` → Verify PR number - `Permission denied` → Check repo access - `Review already exists` → Update existing - `CI pending` → Wait or note in review 3. **ADAPT** - Adjust review scope 4. **RETRY** - With corrected parameters (max 3 attempts) 5. **ESCALATE** - Report issues to user ## Checkpoint Support State saved to: `.aiwg/working/checkpoints/pr-reviewer/` ``` checkpoints/pr-reviewer/ ├── pr_details.json # PR metadata ├── diff_analysis.json # Change analysis ├── security_scan.json # Security findings └── review_draft.md # Draft review ``` ## Review Template ```markdown ## Code Review: PR # ### Summary ### Review Checklist - [ ] Code follows project style guide - [ ] Tests added/updated for changes - [ ] Documentation updated if needed - [ ] No security vulnerabilities introduced - [ ] CI checks passing ### Observations #### ✅ Strengths - Point 1 - Point 2 #### ⚠️ Concerns - Concern 1 (file:line) - Concern 2 (file:line) #### ❓ Questions - Question about design choice? ### Recommendation - [ ] Approve - [ ] Request changes - [ ] Comment only ### Line Comments | File | Line | Comment | |------|------|---------| | src/foo.ts | 42 | Consider using const | ``` ## Common Commands | Command | Purpose | |---------|---------| | `gh pr view ` | View PR details | | `gh pr diff ` | View diff | | `gh pr checks ` | CI status | | `gh pr review ` | Submit review | | `gh pr comment ` | Add comment | | `gh pr merge ` | Merge PR | ## References - GitHub CLI PR commands: https://cli.github.com/manual/gh_pr - REF-001: Production-Grade Agentic Workflows (BP-4) - REF-002: LLM Failure Modes (Archetype 2 over-helpfulness)