Claudex Loop
github.com/chaseai-yt/claudex-loop- Category
- Developer Tools
- Rank
- No. 943Tools index
Previous survey · No. 936 ·
- Pricing
- Open Source
- Type
- TOOL
- Use case
- Coding · Software Testing & Quality
- Interfaces
- Agent Skill / Plugin
- Builder
- chaseai-yt
- GitHub
- 3.2k stars
- Date
About
Skills for coordinating Claude Code and Codex through requirements, independent plan review, implementation, and final inspection. Either provider can host the workflow, and the other provider inspects the builder’s output. A separate routing skill supports one-off model selection and handoffs.
What it does
A pair-programming protocol that makes two rival AI coding agents check each other. Whichever agent you start in writes the plan and coordinates; the opposite one critiques that plan before any code is written, and a fresh session of the opposite one examines the finished changes. A small Python adapter launches the second agent's command-line tool, enforces a structured verdict of approved, revise or blocked, and ties each approval to a hash of the exact plan text, so editing the plan voids it.
Why it's ranked here
The cross-checking is enforced in code, not left to prompt wording. Approval is bound to the plan's SHA256 and invalidated on change, inspections fingerprint staged, unstaged, deleted and untracked files, and the adapter refuses results from a different resumed session. Reviewers run read-only: Claude with only file read and search tools and no MCP, Codex in its read-only sandbox. A unit suite with fake CLIs and throwaway Git repositories covers these contracts, with CI configured on Windows, macOS and Linux. MIT licensed, no pip packages or extra API keys at runtime.
What's good
Failure handling is explicit. An empty output file, a session-start event alone, a timeout or a malformed reply never counts as approval, and an approval cannot carry unresolved high or medium findings. A timeout kills the whole process tree. Requested and observed model names are logged separately, and there is no silent fallback to another model or provider. The validation record is candid: its live checks seeded one obvious data-loss defect and it states plainly that this says nothing about comparative model quality. Rounds are capped, five for plan review and two each for fixes and inspections.
Tradeoffs
The full loop needs both the Claude Code and Codex CLIs installed and logged in, plus Python 3.10 or newer, so you need working accounts with both vendors. Live model tests were run on Windows only; other platforms rely on the fake-CLI suite. The Codex reviewer's sandbox does not restrain external MCP tools already configured, so you must audit those yourself. Delegated builds require a clean checkout. The docs also note that a structured verdict cannot prove a model's findings or claimed coverage are true, and the companion compatibility commands break if copied without the main skill.
How to use it well
Reach for it on changes big enough to deserve a written plan: migrations, data-handling code, anything where a second opinion before building is cheaper than a rollback. Start in whichever agent you prefer as planner, set a proof command up front so the host can verify the build itself, and keep diagnostics out of the repository. For a quick second opinion or a single delegated task, the lighter routing skill needs no Python. It is not for trivial edits, and it does not replace your own review of the final diff.
Technical notes+
The adapter in skills/claudex-loop/scripts/runner.py is standard-library Python. validate_review enforces a fixed schema (verdict, summary, findings, coverage, limitations) with unique finding IDs and high/medium/low severity, rejecting APPROVED with material findings and REVISE with none. command builds Claude review calls with --safe-mode, --strict-mcp-config and an empty MCP config, --tools Read,Glob,Grep and --permission-mode dontAsk; Codex reviews use exec -s read-only, or -c sandbox_mode="read-only" on resume, with --output-schema. snapshot hashes tracked, staged, deleted and untracked files plus the binary diff against the base commit. parse_result checks the returned session UUID; on Windows, cli_prefix launches npm shims through Node rather than a batch shell. Tests in tests/test_runner.py; limits in VALIDATION.md and skills/claudex-loop/references/runtime.md.
Observed
- License
- MIT (LICENSE)
- Language
- Python 3.10+, standard library only (skills/claudex-loop/scripts/runner.py)
- Packaging
- Claude Code plugin manifest plus manual skill copy for Codex or Claude Code (.claude-plugin/plugin.json, README.md)
- Interfaces
- Agent skills (claudex-loop, codex-review, codex-build, standalone routing skill) driving the claude and codex CLIs
- Reviewer isolation
- Claude reviewer limited to Read, Glob, Grep with no MCP; Codex reviewer in read-only sandbox (skills/claudex-loop/references/runtime.md)
- Approval binding
- Approval recorded against plan path and SHA256; plan change invalidates it (README.md)
- Tests
- unittest suite using fake CLI processes and disposable Git repositories, no model calls (tests/test_runner.py)
- Platform support
- CI configured for Windows, macOS and Linux; live model checks run on Windows (VALIDATION.md)
Read from README.md, .claude-plugin/plugin.json, skills/claudex-loop/SKILL.md, skills/claudex-loop/scripts/runner.py, skills/claudex-loop/references/runtime.md, skills/codex-review/SKILL.md, skills/codex-build/SKILL.md, VALIDATION.md, LICENSE, tests/test_runner.py.
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.