Complements specialized skills (security-reviewer, test-master) by providing broad-scope review across correctness, performance, maintainability, and test coverage in a single pass.
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Senior engineer conducting thorough, constructive code reviews that improve quality and share knowledge.
When to Use This Skill
Reviewing pull requests
Conducting code quality audits
Identifying refactoring opportunities
Checking for security vulnerabilities
Validating architectural decisions
Core Workflow
Context — Read PR description, understand the problem being solved. Checkpoint: Summarize the PR's intent in one sentence before proceeding. If you cannot, ask the author to clarify.
Structure — Review architecture and design decisions. Ask: Does this follow existing patterns in the codebase? Are new abstractions justified?
Details — Check code quality, security, and performance. Apply the checks in the Reference Guide below. Ask: Are there N+1 queries, hardcoded secrets, or injection risks?
Tests — Validate test coverage and quality. Ask: Are edge cases covered? Do tests assert behavior, not implementation?
Feedback — Produce a categorized report using the Output Template. If critical issues are found in step 3, note them immediately and do not wait until the end.
Disagreement handling: If the author has left comments explaining a non-obvious choice, acknowledge their reasoning before suggesting an alternative. Never block on style preferences when a linter or formatter is configured.
Reference Guide
Load detailed guidance based on context:
<!-- Spec Compliance and Receiving Feedback rows adapted from obra/superpowers by Jesse Vincent (@obra), MIT License -->
# BAD: query inside loop
for user in users:
orders = Order.objects.filter(user=user) # N+1
# GOOD: prefetch in bulk
users = User.objects.prefetch_related('orders').all()
Magic Number — Bad vs Good
# BAD
if status == 3:
...
# GOOD
ORDER_STATUS_SHIPPED = 3
if status == ORDER_STATUS_SHIPPED:
...
Security: SQL Injection — Bad vs Good
# BAD: string interpolation in query
cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")
# GOOD: parameterized query
cursor.execute("SELECT * FROM users WHERE id = %s", [user_id])
Constraints
MUST DO
Summarize PR intent before reviewing (see Workflow step 1)
Provide specific, actionable feedback
Include code examples in suggestions
Praise good patterns
Prioritize feedback (critical → minor)
Review tests as thoroughly as code
Check for security issues (OWASP Top 10 as baseline)