Skip to content
Automation
Skill

/auto-review-loop

Autonomous multi-round research review loop. In Copilot CLI it defaults to the native complementary rubber-duck subagent with host-event model evidence; elsewhere it uses Codex, while explicit external reviewer overrides remain available. Implements fixes and re-reviews until a

From plugin
auto-claude-code-research-in-sleep
14k187 skills
Install
$ npx -y skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill auto-review-loop --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition โ†’
  • You can call itInvoke it directly when you want it.
  • Slash command/auto-review-loop

Context preview

The summary Claude sees to decide when to auto-load this skill.

Autonomous multi-round research review loop. In Copilot CLI it defaults to the native complementary rubber-duck subagent with host-event model evidence; elsewhere it uses Codex, while explicit external reviewer overrides remain available. Implements fixes and re-reviews until a

SKILL.md

auto-review-loop.SKILL.md
name: auto-review-loop
description: Autonomous multi-round research review loop. In Copilot CLI it defaults to the native complementary rubber-duck subagent with host-event model evidence; elsewhere it uses Codex, while explicit external reviewer overrides remain available. Implements fixes and re-reviews until a policy-approved positive assessment or max rounds is reached.
argument-hint: "[topic-or-scope]"
allowed-tools: Bash(*), Read, Grep, Glob, Write, Edit, Skill, Task, mcp__codex__codex, mcp__codex__codex-reply, mcp__manual_review__review, mcp__manual_review__review_reply

Auto Review Loop: Autonomous Research Improvement

> ๐Ÿ”’ **Do not wrap this skill in `/loop`, `/schedule`, or `CronCreate`.** It > already loops internally (review โ†’ fix โ†’ re-review) and the reviewer carries > round-to-round memory in one `threadId` (`codex-reply`). An external timer > re-enters from the top each tick โ€” fresh `threadId`, reviewer memory reset โ€” > firing the verdict on wall-clock time instead of on artifact change: zero new > signal, full token cost. If you want to schedule something, schedule the > *external wait that precedes it* (experiments done โ†’ then run this once). See > [`shared-references/external-cadence.md`](../shared-references/external-cadence.md).

Autonomously iterate: review โ†’ implement fixes โ†’ re-review, until an independent reviewer gives a policy-approved positive assessment or MAX_ROUNDS is reached.

Context: $ARGUMENTS

Constants

  • MAX_ROUNDS = 4
  • POSITIVE_THRESHOLD: score >= 6/10 **AND** verdict โˆˆ {"ready", "almost"} โ€” **both** must hold. This matches the operative Phase-E STOP CONDITION exactly; the verdict vocabulary is {"ready", "almost", "not ready"} (a high score with a "not ready" verdict does NOT stop the loop). Earlier wording here used `or` and a stale verdict set ("accept"/"sufficient"/"ready for submission") โ€” that was an internal inconsistency; the `AND` form is authoritative.
  • REVIEW_DOC: `review-stage/AUTO_REVIEW.md` (cumulative log) *(fall back to `./AUTO_REVIEW.md` for legacy projects)*
  • REVIEWER_MODEL = `gpt-5.6-sol` โ€” Default model for the Codex backend. Must be an OpenAI model (e.g., `gpt-5.6-sol`, `o3`, `gpt-4o`). Manual backend uses whatever model the user chooses.
  • **REVIEWER_BACKEND** โ€” With no reviewer directive, start as `auto`; Step -1 runs exactly one two-call native marker/challenge probe for the first review. A bound Copilot CLI root session uses `copilot-native` (built-in complementary `rubber-duck` subagent); an unbound/non-Copilot host keeps the existing `codex` default. Explicit `โ€” reviewer: codex`, `oracle-pro`, `agy`, or `manual` bypasses the probe and selects that external backend. Explicit `โ€” reviewer: copilot` retains the compatibility `copilot --agent` drive mode and its later Codex/manual finalizer. The native path gets both actual model IDs from host session events; it never needs `COPILOT_CLI` or caller-provided `--executor-model`. See `shared-references/reviewer-routing.md`.
  • **OUTPUT_DIR = `review-stage/`** โ€” All review-stage outputs go here. Create the directory if it doesn't exist.
  • **HUMAN_CHECKPOINT = false** โ€” When `true`, pause after each round's review (Phase B) and present the score + weaknesses to the user. Wait for user input before proceeding to Phase C. The user can: approve the suggested fixes, provide custom modification instructions, skip specific fixes, or stop the loop early. When `false` (default), the loop runs fully autonomously.
  • **COMPACT = false** โ€” When `true`, (1) read `EXPERIMENT_LOG.md` and `findings.md` instead of parsing full logs on session recovery, (2) append key findings to `findings.md` after each round.
  • **REVIEWER_DIFFICULTY = medium** โ€” Controls how adversarial the reviewer is. Three levels:
  • `medium` (default): Current behavior โ€” MCP-based review, the executor controls what context the reviewer sees.
  • `hard`: Adds **Reviewer Memory** (the reviewer tracks its own suspicions across rounds) + **Debate Protocol** (the executor can rebut, the reviewer rules).
  • `nightmare`: Everything in `hard` + **Codex exec reviewer reads the repo directly** via `codex exec` (the executor cannot filter what the reviewer sees) + **Adversarial Verification** (the reviewer independently checks if code matches claims).
  • **RENDER_HTML = true** โ€” When `true` (default), auto-render `review-stage/AUTO_REVIEW.md` to HTML on loop termination via `/render-html`. Uses `--no-review` (the loop itself IS the cross-model review; the HTML is a structural conversion). Set `false` to skip, or pass `โ€” render html: false`.

> โš ๏ธ **Nightmare + Manual incompatibility**: If `REVIEWER_BACKEND = manual` and `REVIEWER_DIFFICULTY = nightmare`, STOP with: > "difficulty: nightmare requires Codex CLI / codex exec and is not compatible with --reviewer: manual. Use difficulty: hard, or switch reviewer to codex."

> ๐Ÿ’ก Override: `/auto-review-loop "topic" โ€” compact: true, human checkpoint: true, difficulty: hard`

Reviewer Calling Convention

When calling the reviewer, branch on REVIEWER_BACKEND:

**If no `--reviewer:` directive was supplied:** Set REVIEWER_BACKEND to `auto`. At Step -1 of the first round, resolve `copilot_native_evidence.py` using the canonical four-layer helper chain. Generate a fresh binding `<run_id>_r<round>_review_<8-random-hex>` and invoke `marker`, wait, then invoke `challenge` as **two distinct root Bash calls**. Put the literal binding and concrete resolved helper path in both calls; Copilot Bash calls do not share variables. If the challenge binds, set REVIEWER_BACKEND to `copilot-native` and use that same challenge for the first review. Do not issue a second activation challenge in Phase A. If it exits 3 because no current Copilot root session is bound, use `codex`. Explicit reviewer directives bypass this probe. If the helper is missing, native acceptance is unavailable; use Codex only if that external backend is positively available, otherwise emit `REVIEW_UNA

Read more
Ships withauto-claude-code-research-in-sleep

ยท ยท ยท ยท ยท ยท -orange?style=flat) ยท ยท ๐Ÿ’ฌ Join Community ยท ๐Ÿ’ก Use ARIS as a skill-based workflow in Claude Code / Codex CLI / Cursor / Trae / Antigravity / GitHub Copilot CLI / OpenClaw, or get the full experience with the standalone ARIS-Code CLI โ€” enjoy any

Get the whole plugin