Code Review Checklist
Systematic code review combining quality gates, security audit (OWASP Top 10), and parallel checks for comprehensive validation.
Review Scope
- Review ONLY changed files (check diff, not entire file)
- Check related commits
- Link to related PRs/issues
Automated Quality Checks (Run FIRST)
Before any manual review, run automated checks:
# Python
ruff check --select F,E,W,UP,B,SIM --output-format concise <files> && ruff format --check <files>
# TypeScript/JavaScript
biome check --write --unsafe <files>
Block review if checks fail. Return NEEDS_REVISION with specific violations.
Review Checklist
Correctness
Code Quality
Testing
Security (OWASP Top 10)
Documentation
Feedback Format
## Verdict: APPROVED | NEEDS_REVISION | FAILED
### Issues
- CRITICAL: X | HIGH: Y | MEDIUM: Z | LOW: W
### Details
- [CRITICAL] file.py:42 — SQL injection risk, use parameterized queries
- [HIGH] component.tsx:15 — Missing input validation
- [MEDIUM] test_utils.py:8 — Edge case not covered
### 🔍 Human Review Focus
1. [Item AI cannot fully validate — e.g., business logic correctness]
2. [Item 2 — e.g., UX flow matches requirements]
Parallel Review Pattern
For comprehensive reviews, run 5 checks simultaneously:
| Check |
Focus |
Agent |
| Goal |
Does it meet requirements? |
Themis |
| Quality |
Code quality, SOLID, DRY |
Themis |
| Security |
OWASP Top 10, secrets |
Themis |
| QA |
Tests, coverage, edge cases |
Themis |
| Context |
Fits architecture, no regressions |
Themis |
Severity Definitions
| Level |
Action |
Example |
| CRITICAL |
Block merge |
Security vulnerability, data loss risk |
| HIGH |
Must fix before merge |
Missing auth, broken error handling |
| MEDIUM |
Should fix soon |
Missing tests, code duplication |
| LOW |
Nice to have |
Naming, formatting, minor docs |
SOLID Principles Check
- Single Responsibility: Each class/function does one thing
- Open/Closed: Extensible without modification
- Liskov Substitution: Subtypes behave like base types
- Interface Segregation: Small, focused interfaces
- Dependency Inversion: Depend on abstractions, not concretions
Anti-Patterns
- ❌ Reviewing entire file instead of diff
- ❌ Approving without running tests
- ❌ Ignoring security implications
- ❌ Vague feedback ("looks good", "needs work")
- ❌ Nitpicking style over substance
1---2name: code-review-checklist3description: "Systematic code review with quality gates, security audit, and parallel checks. Use for structured feedback on pull requests."4context: fork5globs: []6alwaysApply: false7---89# Code Review Checklist1011Systematic code review combining quality gates, security audit (OWASP Top 10), and parallel checks for comprehensive validation.1213---1415## Review Scope1617- Review **ONLY changed files** (check diff, not entire file)18- Check related commits19- Link to related PRs/issues2021---2223## Automated Quality Checks (Run FIRST)2425**Before any manual review, run automated checks:**2627```bash28# Python29ruff check --select F,E,W,UP,B,SIM --output-format concise <files> && ruff format --check <files>3031# TypeScript/JavaScript32biome check --write --unsafe <files>33```3435**Block review if checks fail.** Return NEEDS_REVISION with specific violations.3637---3839## Review Checklist4041### Correctness42- [ ] Logic is correct and complete43- [ ] Edge cases handled44- [ ] Error handling appropriate45- [ ] Performance acceptable4647### Code Quality48- [ ] No duplication (DRY principle)49- [ ] Single responsibility functions50- [ ] Clear and descriptive naming51- [ ] Reasonable complexity (no god functions)52- [ ] Proper file sizes (<300 lines)5354### Testing55- [ ] Unit tests written56- [ ] Coverage ≥80%57- [ ] Integration tests for workflows58- [ ] Edge cases tested59- [ ] Error conditions tested6061### Security (OWASP Top 10)62- [ ] Input validation present63- [ ] No hardcoded secrets/credentials64- [ ] No XXE, CSRF, XSS vulnerabilities65- [ ] Authentication/authorization proper66- [ ] Sensitive data encrypted67- [ ] Rate limiting on sensitive endpoints68- [ ] Audit logging for security events6970### Documentation71- [ ] Public functions documented72- [ ] Comments explain WHY not WHAT73- [ ] README/guides accurate74- [ ] API documentation complete7576---7778## Feedback Format7980```81## Verdict: APPROVED | NEEDS_REVISION | FAILED8283### Issues84- CRITICAL: X | HIGH: Y | MEDIUM: Z | LOW: W8586### Details87- [CRITICAL] file.py:42 — SQL injection risk, use parameterized queries88- [HIGH] component.tsx:15 — Missing input validation89- [MEDIUM] test_utils.py:8 — Edge case not covered9091### 🔍 Human Review Focus921. [Item AI cannot fully validate — e.g., business logic correctness]932. [Item 2 — e.g., UX flow matches requirements]94```9596---9798## Parallel Review Pattern99100For comprehensive reviews, run 5 checks simultaneously:101102| Check | Focus | Agent |103|-------|-------|-------|104| **Goal** | Does it meet requirements? | Themis |105| **Quality** | Code quality, SOLID, DRY | Themis |106| **Security** | OWASP Top 10, secrets | Themis |107| **QA** | Tests, coverage, edge cases | Themis |108| **Context** | Fits architecture, no regressions | Themis |109110---111112## Severity Definitions113114| Level | Action | Example |115|-------|--------|---------|116| **CRITICAL** | Block merge | Security vulnerability, data loss risk |117| **HIGH** | Must fix before merge | Missing auth, broken error handling |118| **MEDIUM** | Should fix soon | Missing tests, code duplication |119| **LOW** | Nice to have | Naming, formatting, minor docs |120121---122123## SOLID Principles Check124125- **S**ingle Responsibility: Each class/function does one thing126- **O**pen/Closed: Extensible without modification127- **L**iskov Substitution: Subtypes behave like base types128- **I**nterface Segregation: Small, focused interfaces129- **D**ependency Inversion: Depend on abstractions, not concretions130131---132133## Anti-Patterns134135- ❌ Reviewing entire file instead of diff136- ❌ Approving without running tests137- ❌ Ignoring security implications138- ❌ Vague feedback ("looks good", "needs work")139- ❌ Nitpicking style over substance