Context
- •Branch: !
git branch --show-current 2>/dev/null || echo "(not a git repo)" - •File status: !
git status --porcelain 2>/dev/null || echo "(not a git repo)" - •Staged stats: !
git --no-pager diff --stat --cached 2>/dev/null || true - •Unstaged stats: !
git --no-pager diff --stat 2>/dev/null || true - •Recent commits: !
git --no-pager log --oneline -5 2>/dev/null || true
Task
Review uncommitted changes in the working tree.
- •If
$ARGUMENTSis provided, focus the review on those paths (treat it like a path or glob). - •Review staged, unstaged, and untracked files.
- •Start with the stats above; then use
git diff(andgit diff --cached) to inspect the actual changes.
Focus areas (prioritize actual problems)
- •Path accuracy: Any moved/renamed files? Config/CI paths still correct?
- •Correctness: Bugs, broken logic, missing edge handling at boundaries.
- •Completeness: TODO/FIXME, commented-out code, debug artifacts, missing updates.
- •Consistency: Lint/format violations, inconsistent naming, copy/paste duplication.
- •Security: Secrets, unsafe shelling out, injection risks, overly-broad permissions.
- •Tests: Are changes covered? Are tests meaningful (assert behavior, not implementation)?
- •Project rules: If a
CLAUDE.mdexists, call out any violated constraints or needed updates. - •Docs sync: If behavior/config changed, note what docs need updating.
Tests (ask first)
Detect likely test commands (from package.json, Makefile, common configs). Do not run tests by default.
- •Propose the most likely test command(s).
- •Ask the user whether to run them.
- •If the user approves, run the chosen test command and report results.
Output format
Summary
- •2-3 lines describing the changes and overall assessment
Critical Issues
- •Only blocking problems that MUST be fixed (broken CI paths, missing files, failing logic)
- •Include specific files and line numbers when possible
Improvements (Should Address)
- •Non-blocking but important issues
Suggested Tests
- •Command(s) to run and why
Test Results (only if tests were run)
- •Command executed: [exact command]
- •Pass/Fail status
- •Any new failures introduced by changes
Be direct. Focus on actual issues, not hypothetical edge cases.