review-loop is a Claude Code plugin that drives a collaboration loop with Codex:
- (Optional) Brainstorming — If the
superpowers:brainstormingskill is available, Claude Code can brainstorm requirements before designing. - Design stage — Claude Code writes and iterates on a design while Codex audits it with full independent reviews each round.
- Code stage — After a user approval gate, Codex implements code while Claude Code reviews it.
The implementation follows specs/design.md, which was iteratively refined through 5 rounds of design review + a verification pass.
review-loop/scripts/: runtime scripts for background execution, polling, and cancellationreview-loop/prompts/: Codex prompt templatesreview-loop/commands/: Claude Code slash-command documentsreview-loop/hooks/: cleanup-only hook configurationtests/review-loop.test.sh: self-contained shell test suite
- Claude Code CLI installed
- Codex CLI installed and available on
PATH - A Git repository with a clean working tree
-
Clone this repository (or note the absolute path if you already have it):
git clone https://github.com/Whisker17/claude-codex-loop.git
-
In the project where you want to use the plugin, add the plugin path to
.claude/settings.json(or.claude/settings.local.json):{ "plugins": [ "/absolute/path/to/claude-codex-loop/review-loop" ] } -
Ensure the scripts are executable:
chmod +x /path/to/claude-codex-loop/review-loop/scripts/*.sh
Open Claude Code in your target project and run:
/review-loop <task description>
This starts the full workflow:
- Brainstorming (optional) — If
superpowers:brainstormingis available, you'll be asked whether to brainstorm first. Output is saved tospecs/brainstorm.md. - Design stage — Claude Code writes
specs/design.md, Codex audits it iteratively (up to 5 rounds + optional verify pass). Each round is a full independent audit. - User gate — You review and confirm the design before proceeding.
- Code stage — Codex implements the code, Claude Code reviews it iteratively (up to 5 rounds). Each round is a full independent review of the entire diff.
All changes are made on a dedicated review-loop/<session-id> branch.
To cancel at any time:
/cancel-review
Cancellation discards all session work and restores the starting branch.
This plugin is available on the Claude Code plugin marketplace. You can also install it locally by pointing your project's settings.json to the plugin directory.
Run:
bash tests/review-loop.test.sh- Independent validation round — a separate validation pass after design and code stages
- Marketplace plugin manifest —
.claude-plugin/plugin.jsonfor official publishing
- Optional brainstorming stage with user opt-in when
superpowers:brainstormingis available - Fresh independent reviews — every review round mandates a full audit; verify rounds strip all prior context
- Improved cancellation — records
start_branch/start_sha, restores starting point on cancel - Session-scoped brainstorming —
brainstorm_doneflag prevents stale artifacts from bleeding across sessions - Protected brainstorm artifacts —
specs/brainstorm.mdexcluded from code-stage staging and diffs
See specs/design.md for the current implementation spec.
- The runtime scripts discover the project root by locating
.claude/review-loop.local.md, so they can be called from subdirectories. REVIEW_LOOP_TIMEOUT_SECONDScan override the default 20 minute Codex watchdog during tests or debugging.