| name | Code Review Checklist |
| description | Runs a systematic checklist review on any code diff or file, covering correctness, security, performance, and readability. |
| category | coding |
| tags | ["code-review","quality","security","best-practices"] |
| author | simplyutils |
Code Review Checklist
What this skill does
This skill directs the agent to perform a structured code review using a proven checklist. It catches bugs, security issues, performance problems, and readability concerns that are easy to miss in a quick scan. The output is a prioritized list of findings — not vague suggestions, but specific line-level feedback with clear explanations.
Use this before merging a PR, after a refactor, or any time you want a second opinion on code quality.
How to use
Claude Code / Cline
Copy this file to .agents/skills/code-review-checklist/SKILL.md in your project root.
Then ask the agent:
- "Review this file using the Code Review Checklist skill."
- "Run the Code Review Checklist skill on my PR diff."
Cursor
Add the contents of the "Prompt / Instructions" section below to your .cursorrules file, then open the file you want reviewed and ask Cursor to review it.
Codex
Paste the code and the instructions from the section below into the Codex chat.
The Prompt / Instructions for the Agent
When asked to review code, work through each section of this checklist in order. For every issue found, output:
- Severity:
critical | major | minor | nit
- Location: file name and line number(s)
- Issue: one-sentence description
- Suggestion: what to do instead
1. Correctness
2. Security
3. Performance
4. Readability & Maintainability
5. Tests
After completing the checklist, output a summary with:
- Total findings by severity
- The top 3 issues to fix first (highest severity / most impactful)
- An overall assessment:
Approve | Approve with minor fixes | Needs changes
If no issues are found in a section, write "✓ No issues found" for that section rather than skipping it.
Example
Input to Agent:
"Use the Code Review Checklist skill on this function:
async function getUser(id: string) {
const query = `SELECT * FROM users WHERE id = '${id}'`;
const result = await db.raw(query);
return result.rows[0];
}
```"
Output from Agent:
Correctness
- Major | Line 3 | No null check on
result.rows[0] — returns undefined if user not found, which may cause downstream errors. | Return null explicitly or throw a NotFoundError.
Security
- Critical | Line 2 | SQL injection vulnerability —
id is interpolated directly into the query string. | Use a parameterized query: db.raw('SELECT * FROM users WHERE id = ?', [id]).
Performance
- Minor | Line 2 |
SELECT * fetches all columns even if only a few are needed. | Specify the columns you actually use.
Summary
- 1 critical, 1 major, 1 minor
- Top issues: SQL injection (critical), missing null check (major), over-fetching columns (minor)
- Assessment: Needs changes
Notes
- If the diff is large, focus on files with the most business logic first.
- For nitpicks (formatting, naming), group them at the end rather than interspersing them with real issues.
- This skill does not run linters or static analysis — it is a reasoning-based review. For automated checks, run your existing lint/test pipeline first.