Review all uncommitted changes in this project. $ARGUMENTS
Process
Gather changes: Run
git diff --stagedfor staged changes, orgit diffif nothing is staged. Also checkgit statusfor new untracked files.Check each changed file against the project rules (
.claude/rules/*.md):Code Quality
- Is there dead code, unused imports, or commented-out code?
- Are there bandaid fixes or workarounds instead of root-cause solutions?
- Is anything over-engineered for what it needs to do?
Architecture
- Does this follow existing patterns in the codebase?
- Is there duplicate logic that should use an existing shared component or utility?
- Are dependencies pointing in the right direction (inward, not outward)?
Consistency
- Does the code match the style and structure of similar files in the project?
- For frontend: are spacing, colors, and component usage consistent with the rest of the UI?
- For backend: are error handling, response format, and validation patterns consistent?
Reuse
- Could any new component, function, or pattern already exist in the codebase? Search before approving.
- If something similar exists, flag it — it should be reused or extracted into a shared utility.
Security
- Any hardcoded secrets, credentials, or API keys?
- Is user input validated at the boundary?
- Are there SQL injection, XSS, or other OWASP risks?
Performance
- Any N+1 query patterns (database calls inside loops)?
- Any unbounded queries missing LIMIT/pagination?
- Frontend: unnecessary re-renders, missing debounce on inputs?
Verdict: Provide one of:
- Ready to commit — no issues found
- Minor issues — list them, but committing is acceptable after acknowledging
- Needs changes — list specific issues that must be fixed before committing
For each issue, provide: the file, the line(s), what's wrong, and what the fix should be.