guide

Show review-loop usage guide: how it works, commands, configuration, and key features. Use when the user asks for help with review-loop.

First, read ~/.claude/plugins/marketplaces/review-loop-marketplace/.claude-plugin/plugin.json to get the current version number.

Then display the following guide to the user, replacing {VERSION} with the version from plugin.json:


review-loop {VERSION} — Quick Reference

How it works

/review-loop <work item description> [--handsfree]

Orchestrator (this session)
│
├── Context file: .review-loop/sessions/{uuid}.md
│   Single source of truth — all agents read it each round
│
├── [Planning phase]
│   → Executor drafts plan → Reviewer critiques → iterate
│
├── [Execution phase]
│   → Executor implements → Reviewer does CR → iterate
│
├── [Quality Polish]  (skip with skip_quality_polish: true)
│   → Language analysis → Code quality → Simplify → Tests → Docs Consistency
│
└── Delivery: findings table + quality summary + time breakdown

Three skills

The review-loop workflow is now split into three composable skills. Pick the one that matches where your work currently is:

SkillWhen to pickWhat it does
/review-loopYou want the full pipeline in one invocation (default, unchanged UX)Auto-routes based on state — fresh plan, existing plan, or code-already-done — then runs plan → execute → polish → delivery end-to-end
/review-loop:planYou only want to iterate on the plan; run the code later (possibly on a different runtime)Runs the planning loop only. On approval, prints the session UUID and a hint: Next: review-loop:execute --session <uuid>
/review-loop:executeYou already have a plan, or you just want a pure CR sweep over existing codeRuns execution + polish + delivery. Three entry modes: --session <uuid>, --plan <text|path>, --review-only

All three skills write the same session-file schema under .review-loop/sessions/{uuid}.md, so you can hand off between them (and between runtimes — plan on one, execute on the other).

Usage

# Basic — starts full plan→review→implement→CR loop
/review-loop add rate limiting to the /api/upload endpoint

# Handsfree — decision questions go to Reviewer, not you
/review-loop refactor auth middleware --handsfree

# If code is already written, it auto-detects and skips to CR
/review-loop review the changes I just made to the parser

# Plan-only, then execute separately (good for big multi-batch work)
/review-loop:plan design an adaptive rate limiter for /api/upload
# → prints "Next: review-loop:execute --session <uuid>"

# Fresh plan → execute multi-batch → delivery
/review-loop:execute --session <uuid> --stop-after before-delivery
# review diff, then:
/review-loop:execute --session <uuid>

# Review-only pipeline (pure CR over already-written code)
/review-loop:execute --review-only --description "parser refactor in src/parse/*"

# Show this guide — slash command or natural language
/review-loop:guide
show me the review-loop guide

Example session — fresh plan → multi-batch execution → delivery

# 1. Plan-only. Reviewer iterates until APPROVE, then exits.
/review-loop:plan split auth middleware into request-scoped + global layers

# → prints session UUID, e.g. a3c4...

# 2. Execute the plan but stop before Quality Polish so you can
#    review the raw CR diff first.
/review-loop:execute --session a3c4... --stop-after before-polish

# 3. Satisfied — resume the same session for polish + docs + security + delivery.
/review-loop:execute --session a3c4...

Example session — review-only pipeline

# Workspace is dirty from a previous coding session. You want pure CR
# on the existing diff — no plan, no re-implementation.
/review-loop:execute --review-only --description "hot-reload watcher in src/watcher/*"

# First round is Reviewer-only (no Executor runs). If REQUEST_CHANGES,
# subsequent rounds are the standard Executor → Reviewer CR → fix loop.

--stop-after <stage> (execute only)

--stop-after is accepted only by /review-loop:execute. The umbrella /review-loop skill does NOT accept --stop-after — its argument surface remains <work item description> [--handsfree] for backward compatibility. If you need mid-flow stops, invoke /review-loop:execute directly.

Stop cleanly at a seam between stages. Claude Code supports the full set:

ValueStops
exec-roundAfter the current execution round finishes (even on REQUEST_CHANGES)
before-polishBefore Step 3.5 Quality Polish
before-docsBefore Step 3.6 Documentation Consistency
before-securityBefore Step 3.7 Security Preflight
before-deliveryBefore Step 4 Delivery
deliveryDefault — no early stop

Unsupported values are rejected at parse time, before any lock is acquired or session field is written.

--accept-external-state (unsafe opt-in)

This flag auto-accepts every "external drift detected — (A) accept / (B) abort" pause-and-confirm prompt the Orchestrator would otherwise surface:

  • The drift-check decision tree (external commits / edits between batches).
  • The backward-compat fallback for old sessions missing baseline metadata.

Unsafe: you are opting out of pausing on external tree drift. Use only when you know the external changes are intentional and you want to reset baseline silently. Handsfree mode alone does NOT auto-accept — this flag must be passed explicitly.

After updating the plugin: exit with Ctrl-C twice, then claude --resume to reload plugins while keeping your conversation. Old sessions keep using the version loaded at startup.

Configuration

Create .review-loop/config.md in your project to customize:

KeyDefaultDescription
reviewercodex"codex" | "subagent"
reviewer_model""codex: -m flag; subagent: Agent model (empty = inherit)
executor_modelinherit"inherit" | "sonnet" | "opus"
soft_limit_plan3Rounds before asking to continue
soft_limit_exec3Same for execution phase
auto_commitfalseCommit after delivery
commit_message_prefixfeatConventional commit type prefix
docs_fileCHANGELOG.mdFile to append delivery summary; "" to skip
handsfreefalseDefault to handsfree mode
review_focus""Project-specific review priorities (free text)
quality_focus""What to prioritize in Quality Polish (Step 3.5)
review_style""Tone/rules for ALL reviews — adversarial + quality agents
skip_quality_polishfalseSkip Step 3.5 entirely

review_focus examples

# Backend
review_focus: |
  - Concurrency: race conditions, deadlocks, mutex usage
  - Test coverage: error paths, not just happy paths

# Frontend
review_focus: |
  - Security: XSS, CSRF, input sanitization
  - Accessibility: WCAG, keyboard nav, screen reader

# Web API
review_focus: |
  - Security: auth checks, rate limiting, input validation
  - API contract: backward compatibility, proper status codes

Key features

  • Live Reports — see what the Reviewer found after every round
  • Plan Conformance — flags unauthorized Executor deviations as CRITICAL
  • Context file — persistent session for traceability and fast agent startup
  • Soft limits + stuck detection — no hard cap, smart stopping
  • Subagent mode — no Codex needed; uses a Claude Code sub-agent as Reviewer
  • Project-specific config — tailor review priorities per project

More info

GitHub: https://github.com/NYTC69/review-loop