Code Review
Coach
Structured code review with coaching feedback. Get severity-ranked findings with explanations that teach while they review.
$skillfish add johnefemer/skillfish/skills/code-review-coach
See it in action
When to Use
Three workflows where the Code Review Coach shines.
Pull Request Reviews
Run /review on any PR to get structured, severity-ranked feedback before merging.
Code Quality Audits
Point it at any file or module for a comprehensive quality assessment with actionable findings.
Developer Mentoring
Findings include the why, making every review a learning opportunity for growing developers.
How It Works
Four steps from code to coaching feedback.
Scan
Reads the code changes or target files to understand the full context, including imports, dependencies, and related modules.
Categorize
Groups findings into severity levels: Critical, Important, Suggestions, and Praise. Every issue gets a clear priority.
Coach
For each finding, explains the why not just the what — turning reviews into lessons with references and examples.
Summarize
Provides an overall score, a verdict, and actionable next steps so you know exactly what to fix first.
Review Categories
Every finding is classified into one of four severity levels.
Critical
must fixSecurity vulnerabilities, data loss risks, race conditions, and anything that could cause production incidents.
Important
should fixPerformance issues, missing error handling, broken tests, and patterns that will cause problems at scale.
Suggestions
considerReadability improvements, better naming conventions, simplification opportunities, and code style refinements.
Praise
keep doingWell-structured code, good test coverage, clean abstractions, and patterns worth recognizing and repeating.
Output Format
Clean, structured Markdown you can paste directly into a PR comment.
## Summary
Reviewed 3 files with 4 findings. Key concern: SQL injection vulnerability.
## 🔴 Critical
- **SQL injection in `buildQuery()`** (user-service.ts:42)
Why: User input is concatenated directly into the query string.
Instead, use parameterized queries to prevent injection attacks.
## 🟡 Important
- **Missing error handling in API route** (api/users.ts:18)
Why: Unhandled promise rejection will crash the process in production.
## 💡 Suggestions
- **Extract repeated logic into helper** (utils/format.ts:7,22,41)
Why: Three identical formatting blocks could share one function.
## ⭐ Praise
- Excellent test coverage on auth module (96%)
- Clean separation of concerns in service layer
## Score: 6.5/10
**Verdict:** Needs attention before merge Ready to try it?
Install the Code Review Coach skill and start getting structured, coaching-style reviews in your workflow.
$skillfish add johnefemer/skillfish/skills/code-review-coach