Skip to content
Development
Command

/pr-review

Ensure code quality and architectural soundness through systematic Pull Request reviews.

From plugin
claude-code-cookbook
1.1k39 skills9 agents39 commands8 MCP
Install
> /plugin marketplace add wasabeef/claude-code-cookbook

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/pr-review

Context preview

What this command does when you run it.

Ensure code quality and architectural soundness through systematic Pull Request reviews.

Command definition

pr-review.md

Systematic PR review for code quality assurance

Ensure code quality and architectural soundness through systematic Pull Request reviews.

Usage

# Comprehensive PR review
gh pr view 123 --comments
"Systematically review this PR and provide feedback from code quality, security, and architecture perspectives"

# Security-focused review
gh pr diff 123
"Focus on reviewing security risks and vulnerabilities"

# Architecture perspective review
gh pr checkout 123 && find . -name "*.js" | head -10
"Evaluate the architecture from the perspectives of layer separation, dependencies, and SOLID principles"

Basic Examples

# Quantitative code quality assessment
find . -name "*.js" -exec wc -l {} + | sort -rn | head -5
"Evaluate code complexity, function size, and duplication, and point out improvements"

# Security vulnerability check
grep -r "password\|secret\|token" . --include="*.js" | head -10
"Check for risks of sensitive information leakage, hardcoding, and authentication bypass"

# Architecture violation detection
grep -r "import.*from.*\.\./\.\." . --include="*.js"
"Evaluate layer violations, circular dependencies, and coupling issues"

Comment Classification System

πŸ”΄ critical.must: Critical issues
β”œβ”€ Security vulnerabilities
β”œβ”€ Data integrity problems
└─ System failure risks

🟑 high.imo: High-priority improvements
β”œβ”€ Risk of malfunction
β”œβ”€ Performance issues
└─ Significant decrease in maintainability

🟒 medium.imo: Medium-priority improvements
β”œβ”€ Readability enhancement
β”œβ”€ Code structure improvement
└─ Test quality improvement

🟒 low.nits: Minor points
β”œβ”€ Style unification
β”œβ”€ Typo fixes
└─ Comment additions

πŸ”΅ info.q: Questions/information
β”œβ”€ Implementation intent confirmation
β”œβ”€ Design decision background
└─ Best practices sharing

Review Perspectives

1. Code Correctness

  • **Logic errors**: Boundary values, null checks, exception handling
  • **Data integrity**: Type safety, validation
  • **Error handling**: Completeness, appropriate processing

2. Security

  • **Authentication/authorization**: Appropriate checks, permission management
  • **Input validation**: SQL injection, XSS countermeasures
  • **Sensitive information**: Logging restrictions, encryption

3. Performance

  • **Algorithms**: Time complexity, memory efficiency
  • **Database**: N+1 queries, index optimization
  • **Resources**: Memory leaks, cache utilization

4. Architecture

  • **Layer separation**: Dependency direction, appropriate separation
  • **Coupling**: Tight coupling, interface utilization
  • **SOLID principles**: Single responsibility, open-closed, dependency inversion

Review Flow

1. **Pre-check**: PR information, change diff, related issues 2. **Systematic checks**: Security β†’ Correctness β†’ Performance β†’ Architecture 3. **Constructive feedback**: Specific improvement suggestions and code examples 4. **Follow-up**: Fix confirmation, CI status, final approval

Comment Templates

Security Issues Template

**Format:**

  • Priority: `critical.must.`
  • Issue: Clear description of the problem
  • Code example: Proposed fix
  • Rationale: Why this is necessary

**Example:**

critical.must. Password is stored in plaintext

Proposed fix:
const bcrypt = require('bcrypt');
const hashedPassword = await bcrypt.hash(password, 12);

Hashing is required to prevent security risks.

Performance Improvement Template

**Format:**

  • Priority: `high.imo.`
  • Issue: Explain performance impact
  • Code example: Proposed improvement
  • Effect: Describe expected improvement

**Example:**

high.imo. N+1 query problem occurs

Improvement: Eager Loading
const users = await User.findAll({ include: [Post] });

This can significantly reduce the number of queries.

Architecture Violation Template

**Format:**

  • Priority: `high.must.`
  • Issue: Point out architectural principle violation
  • Recommendation: Specific improvement method

**Example:**

high.must. Layer violation occurred

The domain layer directly depends on the infrastructure layer.
Please introduce an interface following the dependency inversion principle.

Notes

  • **Constructive tone**: Collaborative rather than aggressive communication
  • **Specific suggestions**: Provide solutions along with pointing out problems
  • **Prioritization**: Address in order of Critical β†’ High β†’ Medium β†’ Low
  • **Continuous improvement**: Document review results in a knowledge base
Read more
Ships withclaude-code-cookbook

A collection of commands, roles, and automation scripts for Claude Code. Automate your workflow without unnecessary confirmations, allowing you to focus on what matters.

Get the whole plugin