← ClaudeAtlas

review-looplisted

Use when the user wants to loop Codex code review until clean — run review→fix→review until the reviewer reports no findings or hits an iteration cap. Triggers: /review-loop, loop codex:review until green, keep reviewing and fixing until approve, review-only cycles without fixes.
alexio777/review-loop · ★ 1 · Code & Development · score 72
Install: claude install-skill alexio777/review-loop
# Review Loop Run **Codex review in a loop** — **review → fix → review** — until the reviewer says the tree is clean, or until you hit the iteration ceiling. Not a single review pass: the goal is a state where a fresh Codex run finds nothing. **Requires:** [openai-codex](https://github.com/openai/codex) Claude Code plugin (`codex-companion` review), `git`, `node`, `jq`. ## Resolve the wrapper (always) Never call bare `codex:review` / `codex-companion … review` in this skill. Bare review on a clean default branch compares `main...HEAD` → **empty range** → empty output that looks like “clean”. That is a **false convergence**. Always go through the bundled wrapper. Discover it (first hit wins): ```bash for d in \ "${REVIEW_LOOP_ROOT:-}" \ ".agents/skills/review-loop" \ ".claude/skills/review-loop" \ "${HOME}/.agents/skills/review-loop" \ "${HOME}/.claude/skills/review-loop"; do [[ -n "$d" && -x "$d/tools/codex-review.sh" ]] || continue REVIEW="$d/tools/codex-review.sh" break done [[ -n "${REVIEW:-}" ]] || { echo "review-loop: wrapper not found; reinstall skill" >&2; exit 1; } ``` Why the wrapper exists: [references/empty-target.md](references/empty-target.md). ## Arguments First user token: | Input | Behavior | |-------|----------| | *(empty)* | Cap **5** iterations, review+fix (default) | | number `N` | Cap **N** iterations | | `--review-only` | Re-run review without applying fixes | `MAX_NO_PROGRESS=2` — stop after this many consecutive iterations wi