ai4scientist/nano-scientist/auto-review-loop
Claude Code and agent skill by ai4scientist/nano-scientist
- community
Checking that the SKILL.md file is still in the repository.
Autonomous multi-round research review loop. Repeatedly reviews via Codex MCP, implements fixes, and re-reviews until positive assessment or max rounds reached. Use when user says "auto review loop", "review until it passes", or wants autonomous iterative improvement.
Install
npx vskill@latest install ai4scientist/nano-scientist/auto-review-loopSKILL.md
Auto Review Loop: Autonomous Research Improvement
Autonomously iterate: review → implement fixes → re-review, until the external reviewer gives a positive assessment or MAX_ROUNDS is reached.
Context: $ARGUMENTS
Constants
- MAX_ROUNDS = 4
- POSITIVE_THRESHOLD: score >= 6/10, or verdict contains "accept", "sufficient", "ready for submission"
- REVIEW_DOC:
review-stage/AUTO_REVIEW.md(cumulative log) (fall back to `./AUTO_REVIEW.md` for legacy projects) - REVIEWER_MODEL =
gpt-5.4— Model used via Codex MCP. Must be an OpenAI model (e.g.,gpt-5.4,o3,gpt-4o) - REVIEWER_BACKEND = `codex` — Default: Codex MCP (xhigh). Override with
— reviewer: oracle-profor GPT-5.4 Pro via Oracle MCP. Seeshared-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. Whenfalse(default), the loop runs fully autonomously. - COMPACT = false — When
true, (1) readEXPERIMENT_LOG.mdandfindings.mdinstead of parsing full logs on session recovery, (2) append key findings tofindings.mdafter each round. - REVIEWER_DIFFICULTY = medium — Controls how adversarial the reviewer is. Three levels:
medium(default): Current behavior — MCP-based review, Claude controls what context GPT sees.hard: Adds Reviewer Memory (GPT tracks its own suspicions across rounds) + Debate Protocol (Claude can rebut, GPT rules).nightmare: Everything inhard+ GPT reads the repo directly viacodex exec(Claude cannot filter what GPT sees) + Adversarial Verification (GPT independently checks if code matches claims).
💡 Override:/auto-review-loop "topic" — compact: true, human checkpoint: true, difficulty: hard
State Persistence (Compact Recovery)
Long-running loops may hit the context window limit, triggering automatic compaction. To survive this, persist state to review-stage/REVIEW_STATE.json after each round:
Write this file at the end of every Phase E (after documenting the round). Overwrite each time — only the latest state matters.
On completion (positive assessment or max rounds), set "status": "completed" so future invocations don't accidentally resume a finished loop.
Output Protocols
Follow these shared protocols for all output files:- [Output Versioning Protocol](../shared-references/output-versioning.md) — write timestamped file first, then copy to fixed name- [Output Manifest Protocol](../shared-references/output-manifest.md) — log every output to MANIFEST.md- [Output Language Protocol](../shared-references/output-language.md) — respect the project's language setting
Workflow
Initialization
- Check for `review-stage/REVIEW_STATE.json` (fall back to `./REVIEW_STATE.json` if not found — legacy path):
- If neither path exists: fresh start (normal case, identical to behavior before this feature existed)
- If it exists AND
statusis"completed": fresh start (previous loop finished normally) - If it exists AND
statusis"in_progress"ANDtimestampis older than 24 hours: fresh start (stale state from a killed/abandoned run — delete the file and start over) - If it exists AND
statusis"in_progress"ANDtimestampis within 24 hours: resume - Read the state file to recover
round,threadId,last_score,pending_experiments - Read
review-stage/AUTO_REVIEW.mdto restore full context of prior rounds (fall back to `./AUTO_REVIEW.md`) - If
pending_experimentsis non-empty, check if they have completed (e.g., check screen sessions) - Resume from the next round (round = saved round + 1)
- Log: "Recovered from context compaction. Resuming at Round N."
- Read project narrative documents, memory files, and any prior review documents. When `COMPACT = true` and compact files exist: read
findings.md+EXPERIMENT_LOG.mdinstead of fullreview-stage/AUTO_REVIEW.mdand raw logs — saves context window. - Read recent experiment results (check output directories, logs)
- Identify current weaknesses and open TODOs from prior reviews
- Initialize round counter = 1 (unless recovered from state file)
- Create/update
review-stage/AUTO_REVIEW.mdwith header and timestamp
Loop (repeat up to MAX_ROUNDS)
Phase A: Review
Route by REVIEWER_DIFFICULTY:
Medium (default) — MCP Review
Send comprehensive context to the external reviewer:
If this is round 2+, use mcp__codex__codex-reply with the saved threadId to maintain conversation context.
Hard — MCP Review + Reviewer Memory
Same as medium, but prepend Reviewer Memory to the prompt:
Nightmare — Codex Exec (GPT reads repo directly)
Do NOT use MCP. Instead, let GPT access the repo autonomously via codex exec:
Key difference: In nightmare mode, GPT independently reads code, result files, and logs. Claude cannot filter or curate what GPT sees. This is the closest analog to a real hostile reviewer who reads your actual paper + supplementary materials.
Phase B: Parse Assessment
CRITICAL: Save the FULL raw response from the external reviewer verbatim (store in a variable for Phase E). Do NOT discard or summarize — the raw text is the primary record.
Then extract structured fields:
- Score (numeric 1-10)
- Verdict ("ready" / "almost" / "not ready")
- Action items (ranked list of fixes)
STOP CONDITION: If score >= 6 AND verdict contains "ready" or "almost" → stop loop, document final state.
Phase B.5: Reviewer Memory Update (hard + nightmare only)
Skip entirely if `REVIEWER_DIFFICULTY = medium`.
After parsing the assessment, update REVIEWER_MEMORY.md in the project root:
Rules:
- Append each round, never delete prior rounds (audit trail)
- If the reviewer's response includes a "Memory update" section, copy it verbatim
- This file is passed back to GPT in the next round's Phase A — it is GPT's persistent brain
Phase B.6: Debate Protocol (hard + nightmare only)
Skip entirely if `REVIEWER_DIFFICULTY = medium`.
After parsing the review, Claude (the author) gets a chance to rebut:
Step 1 — Claude's Rebuttal:
For each weakness the reviewer identified, Claude writes a structured response:
Rules for Claude's rebuttal:
- Must be honest — do NOT fabricate evidence or misrepresent results
- Can point out factual errors in the review (reviewer misread code, wrong metric, etc.)
- Can argue a weakness is out of scope or would require unreasonable effort
- Maximum 3 rebuttals per round (pick the most impactful to contest)
Step 2 — GPT Rules on Rebuttal:
Send Claude's rebuttal back to GPT for a ruling:
Hard mode (MCP):
Nightmare mode (codex exec):
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/auto-review-loop/SKILL.md
Popularity
- Repository stars
- 100
- Repository forks
- 16
- 7-day trend score
- 23
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ai4scientist/nano-scientist/auto-review-loop)