- name
- code-review
- description
- Systematic code analysis with evidence collection
- allowed-tools
- ["read_file","run_terminal_cmd"]
- tier
- 2
- protocol
- CODE-REVIEW
- tags
- ["moollm","development","quality","review","security"]
- related
- ["adventure","debugging","research-notebook","session-log","rubric","evaluator"]
- templates
- [{"file":"REVIEW.yml.tmpl","purpose":"Structured review tracking","parameters":["review_name","created_date","focus","files"]},{"file":"REVIEW.md.tmpl","purpose":"Formatted review document","parameters":["review_name","created_date","files"]}]
# Code Review
> *"Read with intent. Question with purpose. Document with care."*
Systematic code analysis with evidence collection. Code review IS an [adventure](../adventure/) — the codebase is the dungeon, findings are clues.
## Review Process
```
READ → NOTE ISSUES → CLASSIFY → REPORT
```
### Step 1: Setup
1. Create REVIEW.yml
2. Identify files to review
3. Define focus areas
### Step 2: Overview
1. List all changed files
2. Read PR/commit description
3. Note initial impressions
### Step 3: Deep Review
For each file:
1. Read the code
2. Check against criteria
3. Note findings
4. Run relevant checks
### Step 4: Verification
1. Run tests
2. Run linters
3. Check regressions
### Step 5: Synthesize
1. Compile findings
2. Prioritize issues
3. Generate REVIEW.md
4. State recommendation
## Finding Severity
| Level | Symbol | Meaning | Action |
|-------|--------|---------|--------|
| Blocking | 🚫 | Must fix before merge | Request changes |
| Important | ⚠️ | Should fix or explain | Request changes |
| Minor | 💡 | Nice to fix | Comment only |
| Praise | 🎉 | Good work! | Celebrate |
## Finding Types
- **Security** — Injection, auth, sensitive data
- **Correctness** — Logic errors, edge cases
- **Performance** — N+1 queries, memory leaks
- **Maintainability** — Clarity, DRY, naming
- **Style** — Formatting, conventions
## Review Checklist
### Security
- Input validation
- Output encoding
- Authentication/authorization
- Sensitive data handling
- Injection vulnerabilities
- Timing attacks
### Correctness
- Logic errors
- Edge cases handled
- Null/undefined handling
- Error handling
- Race conditions
- Resource cleanup
### Maintainability
- Code clarity
- Appropriate comments
- Consistent naming
- DRY (no duplication)
- Single responsibility
- Testability
### Performance
- Algorithmic complexity
- Memory usage
- Database queries
- Caching
- Unnecessary operations
## Core Files
### REVIEW.yml
```yaml
review:
name: "PR #123: Add user authentication"
status: "in_progress"
findings:
blocking:
- id: "B1"
file: "src/auth/login.ts"
line: 45
type: "security"
summary: "Timing attack vulnerability"
important: []
minor: []
praise: []
verification:
tests: { ran: true, passed: true }
linter: { ran: true, passed: false, issues: 3 }
```
### REVIEW.md
Formatted document with:
- Summary and counts
- Issues by severity
- Verification results
- Recommendation
## Verification Commands
```yaml
tests:
- "npm test"
- "pytest"
- "go test ./..."
linters:
- "npm run lint"
- "flake8"
- "golangci-lint run"
```
## Recommendation Output
| Outcome | Meaning |
|---------|---------|
| `approve` | Good to merge |
| `request_changes` | Has blocking/important issues |
| `comment` | Minor feedback only |
## See Also
- [rubric](../rubric/) — **Explicit scoring criteria** for code quality
- [evaluator](../evaluator/) — Independent assessment pattern
- [adversarial-committee](../adversarial-committee/) — Multiple reviewers debating findings
Auf GitHub ansehen