Review code changes between commits for security, logic, performance, and style issues
67
55%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/git-workflow/skills/code-review/SKILL.mdCategory: Development
/code-review [<commit>] [--from <commit>] [--to <commit>]| Argument | Default | Description |
|---|---|---|
<commit> | - | Single commit to review |
--from | merge-base with main | Starting commit reference |
--to | HEAD | Ending commit reference |
# Review all changes in current branch (from merge-base to HEAD)
/code-review
# Review a specific commit
/code-review abc1234
# Review a range of commits
/code-review --from abc1234 --to def5678
# Review changes since a specific commit
/code-review --from HEAD~5
# Review changes up to a specific commit
/code-review --to feature-branchThis command delegates to the code-review-expert agent (Haiku model) for fast, cost-effective execution.
Delegation: Use the Task tool with:
subagent_type: "git-workflow:code-review-expert"model: "haiku"prompt: Include the commit range and current working directoryExample:
Task(subagent_type="git-workflow:code-review-expert", model="haiku", prompt="Review changes from abc1234 to HEAD in /path/to/repo")When this command is run, Claude Code should:
SINGLE_COMMIT = first positional argument (if provided)
FROM = --from value or merge-base with main/master
TO = --to value or HEADIf a single commit is provided:
FROM = <commit>^, TO = <commit>If no arguments:
# Verify commits exist
git rev-parse --verify "$FROM" 2>/dev/null
git rev-parse --verify "$TO" 2>/dev/nullIf invalid, show error with suggestions.
# Get overview
git diff --stat $FROM..$TO
# Get commit history
git log --oneline $FROM..$TO
# Get full diff for analysis
git diff $FROM..$TOReview each file's changes for:
Critical Issues (must fix)
High Priority (should fix)
Medium Priority (consider fixing)
Low Priority (optional)
Test Coverage
Format output as:
Code Review: <from>..<to>
=========================
Files Changed: N (+X, -Y)
Commits: M
## Critical Issues
- [SECURITY] path/file.py:42 - SQL injection via unsanitized input
## High Priority
- [LOGIC] path/file.py:78 - Missing null check on user.profile
## Medium Priority
- [PERFORMANCE] path/file.py:120 - Queries in loop, consider batch fetch
## Low Priority
- [STYLE] path/file.py:15 - Inconsistent naming: userID vs user_id
## Test Coverage
- Missing tests for: new_feature() in path/file.py
## Suggestions
- Consider adding retry logic for external API calls
---
Overall: NEEDS_CHANGES | APPROVED_WITH_COMMENTS | APPROVED| Category | Look For |
|---|---|
| Security | Injection, auth, secrets, data exposure |
| Logic | Bugs, error handling, edge cases |
| Performance | N+1 queries, inefficient algorithms |
| Style | Naming, consistency, complexity |
| Tests | Coverage, quality, edge cases |
No changes to review
The commits $FROM and $TO are identical.
Invalid commit reference
Could not find commit: abc1234
Try: git log --oneline -20
Not a git repository
Navigate to a git repository first.| Command | Purpose |
|---|---|
/commit | Create commits with conventional format |
/rebase | Rebase local changes on remote |
0ebe7ae
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.