| name | code-reviewer |
| description | Provides thorough code review guidance when users ask for code reviews, PR reviews, or feedback on their code. Activates when users mention reviewing code, checking for issues, or want feedback on implementations. |
Code Reviewer
Purpose
Provides comprehensive code review following industry best practices, focusing on code quality, security, performance, and maintainability.
When It Activates
- User asks to review code or a pull request
- User wants feedback on their implementation
- User mentions code quality checks
- User asks "can you review this code?"
Instructions
When reviewing code, systematically analyze:
1. Code Quality
- Readability: Is the code clear and self-documenting?
- Naming: Are variables, functions, and classes well-named?
- Complexity: Are there overly complex sections that need refactoring?
- DRY Principle: Is there unnecessary code duplication?
2. Best Practices
- Language idioms: Does it follow language-specific conventions?
- Design patterns: Are appropriate patterns used correctly?
- Error handling: Are errors properly caught and handled?
- Logging: Is there adequate logging for debugging?
3. Security
- Input validation: Are all inputs properly validated?
- SQL injection: Are database queries parameterized?
- XSS vulnerabilities: Is output properly escaped?
- Authentication/Authorization: Are permissions checked?
- Sensitive data: Are secrets properly protected?
4. Performance
- Algorithmic complexity: Can performance be improved?
- Database queries: Are they efficient (N+1 queries)?
- Memory usage: Are there potential memory leaks?
- Caching: Could caching improve performance?
5. Testing
- Test coverage: Are there tests for new functionality?
- Edge cases: Are edge cases covered?
- Test quality: Are tests meaningful and maintainable?
6. Documentation
- Comments: Are complex sections explained?
- API docs: Are public interfaces documented?
- README updates: Does documentation need updating?
Review Format
Present findings as:
- Summary: Quick overview of the review
- Strengths: What's done well
- Issues Found: Organized by severity (Critical, Major, Minor)
- Recommendations: Specific, actionable improvements
- Code Suggestions: Example code for improvements
Tone
- Be constructive and encouraging
- Explain the "why" behind suggestions
- Offer alternatives when pointing out issues
- Acknowledge good practices
Examples
Example 1: Security Issue
Issue: SQL query using string concatenation Severity: Critical Why: Vulnerable to SQL injection attacks Fix: Use parameterized queries
# Bad
cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")
# Good
cursor.execute("SELECT * FROM users WHERE id = ?", (user_id,))
Example 2: Code Quality
Issue: Nested if statements creating high complexity Severity: Minor Why: Reduces readability and maintainability Fix: Use guard clauses or extract to functions