Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Rigorous code review of all uncommitted changes. Analyzes architecture, code quality, security, and engineering best practices. Embeds questions and assumptions inline, then summarizes all proposed changes as a plan for user approval before any edits are made.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✓→✗ | ▼ Worse | 724% | 0% |
| case-10 | ✓→✗ | ▼ Worse | 287% | 0% |
| case-16 | ✓→✗ | ▼ Worse | 64% | 0% |
| case-22 | ✓→✗ | ▼ Worse | 28% | 0% |
| case-20 | ✓→✓ | = Same ✓ | 95% | 0% |
Perform a rigorous, senior-engineer-level code review of all uncommitted changes in the working tree.
By default, run the full checklist. If the user requests a quick review (e.g., /review --quick), focus only on:
Skip deeper analysis sections (Duplication, Missing Tests, Code Clarity) in quick mode.
If git diff HEAD produces no output and git status shows no uncommitted changes and no untracked files, inform the user that there are no changes to review and stop.
Run these commands to understand the full scope of uncommitted work:
bash# Overview of changed files git status # Full diff of all tracked changes (staged + unstaged) git diff HEAD # List of untracked files that may need review git ls-files --others --exclude-standard
Read the diff carefully. For every changed file, also read the full file (not just the diff hunk) so you understand the surrounding context — imports, class hierarchy, sibling functions, and call sites.
Run automated checks on changed files (language-aware):
*.py): run ruff check <files> and pyright <files>.*.ts, *.tsx, *.js, *.jsx, *.mts): run npx tsc --noEmit and npx biome check <files> from the relevant project root (reflexio/website/ or reflexio/public_docs/).Save the lint and type check output — these results feed into the review checklist below.
For each changed file:
README.md if one exists (e.g., reflexio/server/README.md).Evaluate every change against the following categories. Only report findings that are actionable — skip categories where everything looks correct.
When you encounter ambiguity during the checklist, note your assumption inline (e.g., "assuming this is intentional — flagging for confirmation") and continue. Do not stop the review to ask questions.
tsc and Biome output from Phase 1 alongside pyright guidance.Go beyond checking whether tests exist for the changed code. Proactively identify core logic in the changed files that lacks test coverage, even if the logic was not modified in this diff. Focus on:
if/else branches, especially error/fallback branches that are easy to miss.For each gap found, suggest specific test cases with descriptive names (e.g., test_get_conversation_rejects_path_traversal) and briefly describe what the test should verify. Group suggestions by priority (security first, then correctness, then edge cases).
Duplicated code is one of the biggest threats to long-term maintainability. When the same logic exists in multiple places, bug fixes and feature changes must be applied everywhere — and inevitably some copies get missed, creating inconsistencies and regressions.
Actively search for duplication. Do not limit yourself to the diff — when you see a pattern in the changed code, search the broader codebase for similar implementations. Use grep/search with concrete patterns to find duplication. Search for: the function name, distinctive lines from the implementation, shared string literals, or similar parameter signatures. Example: grep -r 'def process_chunk' --include='*.py' to find parallel implementations. Specifically look for:
if/else decision tree appearing in multiple places, especially feature-flag checks or permission checks.For each duplication found:
If changes are staged (git diff --cached is non-empty), check whether a commit message convention is used in this repo (inspect recent git log --oneline -5). Briefly note whether the staged changes would benefit from a conventional commit prefix, a ticket reference, or a clearer summary.
Output a structured review report using this format:
## Code Review Summary
**Files reviewed:** <count>
**Scope:** <one-line description of what the changes do>
### Questions & Assumptions
Items where intent was ambiguous during review. Each entry states the assumption made and asks for confirmation.
- **[FILE:LINE]** — "Assuming X is intentional — is this correct, or should it be Y?"
### Critical Issues (must fix)
Items that would cause bugs, security vulnerabilities, or data loss.
- [ ] **[FILE:LINE]** — Description of the issue and why it matters.
### Significant Issues (should fix)
Items that degrade code quality, violate architecture, or hurt maintainability.
- [ ] **[FILE:LINE]** — Description and recommendation.
### Minor Issues (nice to fix)
Items that are low-risk but would improve the code.
- [ ] **[FILE:LINE]** — Description and suggestion.
### Duplication Issues
Code that is duplicated across files or within files, hurting maintainability.
- [ ] **[FILE1:LINE] ↔ [FILE2:LINE]** — Description of what is duplicated and suggested consolidation approach.
### Missing Critical Test Cases
Core logic that lacks test coverage. Prioritized by risk (security > correctness > edge cases).
- [ ] `test_name_here` — What the test should verify and why it matters.
### Lint & Type Check Results
Automated lint and type check findings on changed files.
- [ ] **[FILE:LINE]** `RULE_CODE` — Description and fix recommendation.
### Observations
Things that are not wrong but worth noting (e.g., "this module is growing large — consider splitting in the future").
### What looks good
Only include this section if there is something genuinely non-obvious that deserves recognition — a clever algorithm, an unusually robust error handling pattern, a well-designed abstraction. Skip this section entirely if there is nothing substantive to highlight.If there are Critical or Significant issues, produce a concrete change plan:
## Proposed Changes
### Change 1: <short title>
**File:** <path>
**Issue:** <which review finding this addresses>
**What to change:** <specific description of the modification>
### Change 2: <short title>
...Order changes by severity: Critical fixes first, then Significant, then Minor. If there are only Minor issues, note that the user may choose to defer them.
Then explicitly ask the user: > "Here is my review and proposed changes. Should I proceed with all changes, some of them, or none?"
Do NOT make any edits until the user approves.
| Severity | Definition | Action | |----------|-----------|--------| | Critical | Will cause bugs, data loss, security vulnerability, or crash in production | Must fix before commit | | Significant | Violates architecture, creates tech debt, missing error handling, missing tests | Should fix before commit | | Minor | Naming, clarity, minor duplication, small improvements | Nice to have, can defer | | Observation | Not a problem today but worth tracking | No action needed now |
I rules)Other measured skills in the registry, with their headline benchmark lift.