auto-review-loop-llm
Autonomous research review loop using any OpenAI-compatible LLM API. Configure via llm-chat MCP server or environment variables. Trigger with "auto review loop llm" or "llm review".
By wanshuiyin · 400 installs
npx skills add wanshuiyin/auto-claude-code-research-in-sleep --skill auto-review-loop-llm
Source repository · Upstream listing
Auto Review Loop (Generic LLM): Autonomous Research Improvement
🔒 Do not wrap this skill in /loop , /schedule , or CronCreate . Like
/auto review loop , it already loops internally (review → fix → re review),
feeding each round's prior round summary into the next review prompt (the
backend is a stateless per round API/MCP call, not a shared thread). An
external timer re enters from the top each tick, dropping that accumulated
context and firing the verdict on wall clock time instead of on artifact
change — zero new signal, full token cost. Schedule the external wait that
precedes it , not the verdict. See
[ shared references/external cadence.md ](../shared references/external cadence.md).
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 AND verdict ∈ {"ready", "almost"} — both must hold, matching the operative STOP check below. Verdict vocabulary is {"ready", "almost", "not ready"}. (Earlier wording used or and a stale verdict set; the AND form is authoritative.)
REVIEW DOC: review stage/AUTO REVIEW.md (cumulative log) (fall back to ./AUTO REVIEW.md for legacy projects)
LLM Configuration
This skill uses any OpenAI compatible API for external review via the llm chat MCP server.
Configuration via MCP Server (Recommended)
Add to ~/.claude/settings.json :
Supported Providers
Provider LLM BASE URL LLM MODEL
OpenAI https://api.openai.com/v1 gpt 4o , o3
DeepSeek https://api.deepseek.com/v1 deepseek chat , deepseek reasoner
MiniMax https://api.minimax.io/v1 MiniMax M3
Kimi (Moonshot) https://api.moonshot.cn/v1 moonshot v1 8k , moonshot v1 32k
ZhiPu (GLM) https://open.bigmodel.cn/api/paas/v4 glm 4 , glm 4 plus
SiliconFlow https://api.siliconflow.cn/v1 Qwen/Qwen2.5 72B Instruct
阿里云百炼 https://dashscope.aliyuncs.com/compatible mode/v1 qwen max
零一万物 https://api.lingyiwanwu.com/v1 yi large
API Call Method
Primary: MCP Tool
Fallback: curl
State Persistence (Compact Recovery)
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).
On completion , set "status": "completed" .
Workflow
Initialization
1. Check review stage/REVIEW STATE.json for recovery (fall back to ./REVIEW STATE.json if not found — legacy path)
2. Read project context and prior reviews
3. Initialize round counter
Loop (up to MAX ROUNDS)
Phase A: Review
If MCP available:
If MCP NOT available:
Phase B: Parse Assessment
CRITICAL: Save the FULL raw response verbatim. Then extract:
Score (numeric 1 10)
Verdict ("ready" / "almost" / "not ready")
Action items (ranked list of fixes)
STOP : If score = 6 AND verdict ∈ {"ready", "almost"} (exact — "not ready" does NOT qualify)
Phase C: Implement Fixes
Priority: metric additions reframing new experiments
Phase D: Wait for Results
Monitor remote experiments
Phase E: Document Round
Append to review stage/AUTO REVIEW.md :
Write review stage/REVIEW STATE.json with current state.
Termination
1. Set review stage/REVIEW STATE.json status to "completed"
2. Write final summary
Key Rules
Large file handling : If the Write tool fails due to file size, immediately retry using Bash ( cat << 'EOF' file ) to write in chunks. Do NOT ask the user for permission — just do it silently.
Anti hallucination citations : When adding references, NEVER fabricate BibTeX. Use DBLP → CrossRef → [VERIFY] chain. Do NOT generate BibTeX from memory.
Be honest about weaknesses
Implement fixes BEFORE re reviewing
Document everything
Include previous context in round 2+ prompts
Prefer MCP tool over curl when available
Prompt Template for Round 2+
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