About code-review-checklist
code-review-checklist is a skill that guides manual reviews through an ordered set of checks, from security and correctness to performance, quality, and style. It suits reviewers assessing focused code changes with a consistent checklist.
Key features
- 01Priority-ordered review categories
- 02Security and secret checks
- 03Logic and edge-case checks
- 04Performance and resource checks
- 05Review output template
Use cases
- 01Review a small pull request
- 02Check a diff for exposed credentials
- 03Verify error handling and edge cases
- 04Assess query and resource efficiency
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill code-review-checklistAfter installing, type/code-review-checklistin Claude Code to confirm it loaded.
Details
From the project READMECode Review Checklist
Structured approach to reviewing code changes.
When to Use This Skill
| Use this skill when... | Use something else instead when... |
|---|---|
| Walking a priority-ordered manual review checklist | Running a full delegated review pass → code-review |
| Hunting for hardcoded secrets, injection, or N+1 query patterns | Scanning specifically for anti-patterns → code-antipatterns |
| Verifying error handling and edge cases in a PR diff | Targeting swallowed errors directly → code-hidden-failures --track errors |
| Applying a deterministic checklist to a small change | Refactoring after the checklist surfaces issues → code-refactor |
Review Priority Order
- Security (Critical) - Vulnerabilities, secrets, injection
- Correctness (High) - Logic errors, breaking changes
- Performance (Medium) - Inefficiencies, resource leaks
- Quality (Medium) - Maintainability, readability
- Style (Low) - Formatting, naming (should be automated)
Security Checklist
Secrets & Credentials
- No hardcoded API keys, passwords, tokens
- No credentials in logs or error messages
- Secrets loaded from environment/vault
Injection Vulnerabilities
- SQL queries use parameterized statements
- User input is sanitized before HTML output (XSS)
- Shell commands don't include user input (command injection)
- File paths are validated (path traversal)
Authentication & Authorization
- Auth checks on all protected endpoints
- Proper session handling
- Secure password handling (hashing, not plaintext)
Data Exposure
- Sensitive data not logged
- API responses don't leak internal details
- Error messages don't expose system info
Correctness Checklist
Logic
- Edge cases handled (null, empty, boundary values)
- Error conditions handled appropriately
- Async operations properly awaited
- Race conditions considered
Breaking Changes
- API contracts maintained
- Database migrations are reversible
- Feature flags for risky changes
Testing
- New code has tests
- Tests cover error paths, not just happy path
- Existing tests still pass
Performance Checklist
Efficiency
- No N+1 queries
- Appropriate data structures used
- No unnecessary loops or iterations
- Caching considered for expensive operations
Resources
- Database connections closed/pooled
- File handles closed
- No memory leaks (event listeners removed, etc.)
Scale
- Works with realistic data volumes
- Pagination for large result sets
- Timeouts on external calls
Quality Checklist
Readability
- Clear, descriptive names
- Functions do one thing
- No overly complex conditionals
- Comments explain "why", not "what"
Maintainability
- DRY (no copy-paste duplication)
- Appropriate abstractions
- Dependencies are justified
- No dead code
Consistency
- Follows project patterns
- Matches existing code style
- Uses established utilities/helpers
Review Output Format
## Review: [PR Title]
**Risk Level**: LOW | MEDIUM | HIGH | CRITICAL
### Critical Issues
1. [Category] Description (file:line)
- Impact: What could go wrong
- Fix: Specific recommendation
### Suggestions
1. [Category] Description (file:line)
- Why: Reasoning
- Consider: Alternative approach
### Positive Notes
- [Recognition of good patterns]
Quick Checks
For fast reviews, at minimum check:
- Any secrets or credentials?
- Any SQL/command injection?
- Are error cases handled?
- Do tests exist for new code?
Comments
Markdown supported