| name | bm.review-checklist |
| description | Code review checklist: structured code review process, quality gates, best practice checks. Use when user requests code review, PR review, quality check, 审查, review, 代码审查, PR检查. Covers security, performance, maintainability, test coverage dimensions. |
| source | opencrew |
| version | 20260530.01 |
Skill: Code Review Checklist
Checklist items and output format for multi-dimensional code review.
File Locations
- Final artifacts:
./reviews/... (code project → ./docs/reviews/...) (under cwd, visible directory, follow user conventions)
- Intermediate artifacts:
./working/review/
- Directory does not exist: Create it proactively; follow user conventions if they exist
- Always within cwd: Don't write to
/tmp/, ~/Desktop/, ~/Downloads/, or anywhere outside cwd (unless user explicitly specifies)
Code Project Detection: If code project markers exist under cwd (package.json, Cargo.toml, go.mod, pyproject.toml, setup.py, pom.xml, Gemfile, composer.json, or src/ + .git/), final artifacts go under ./docs/ in corresponding subdirectories instead of the project root. Intermediate artifacts in ./working/ remain unchanged. User-specified paths take priority.
Review Process
Step 1: Understand Context
The delegating party will tell you:
- What was changed (new feature / bug fix / refactor)
- Which files are involved
- What to focus on
If no context is given, infer from commit messages and diff summaries yourself.
Step 2: Read the Code
- Read the changed files, understand the intent of the changes
- Read related context files (called functions, dependent modules)
- Check consistency with existing project patterns
Step 3: Check Each Dimension
Dimension 1: Correctness
Dimension 2: Security
Dimension 3: Performance
Dimension 4: Maintainability
Dimension 5: Consistency
Dimension 6: Error Handling
Severity Levels
| Level | Meaning | Examples |
|---|
| 🔴 Must fix | Will cause bugs/security issues/data loss | SQL injection, null pointer, resource leak, permission bypass |
| 🟡 Should fix | Won't break things but should be addressed | N+1 queries, unclear naming, missing error handling, missing tests |
| 🟢 Optional | Nice to have | Minor code style tweaks, small maintainability improvements |
Output Format
## Review Conclusion
[PASS / PASS_WITH_NOTES / REQUEST_CHANGES]
## 🔴 Must Fix
- [Issue description] `file path:line number` — [Reason] → Suggested fix: [specific fix]
## 🟡 Should Fix
- [Issue description] `file path:line number` — [Reason]
## 🟢 Optional Improvements
- [Suggestion]
## Summary
[One or two sentence overall assessment]
Review Principles
- If the code has no issues, don't force-find problems. PASS is PASS
- Every 🔴/🟡 must include the file path and line number
- Every issue should come with a specific fix, not just pointing out the problem
- Don't nitpick formatting (that's the linter's job)
- For unfamiliar domains, note "unsure about this part, suggest having someone familiar review it"