New to Claude Skills? Learn how to install them โ†’

wanshuiyin on GitHub

Auto Review Loop

Free

Streamline research reviews with autonomous iterations.

Get this skill

Free ยท Opens the source repo

What Auto Review Loop does

The Auto Review Loop skill is designed to enhance the research review process by automating the iterative cycle of review, implementation of fixes, and re-review using any OpenAI-compatible LLM API. This skill operates through a loop that continues until a positive assessment is achieved or the maximum number of rounds (MAX_ROUNDS) is reached, which is set to four by default. It allows researchers to efficiently refine their work based on feedback, ensuring that each iteration builds on the previous one by incorporating the accumulated context into the next review prompt.

To utilize the Auto Review Loop, users must configure it via the llm-chat MCP server or through environment variables. The skill can be triggered using the commands "auto review loop llm" or "llm review". The internal workings involve a structured workflow where the LLM scores the research, identifies critical weaknesses, and suggests necessary fixes. This process continues until the work is deemed ready for submission or the set limits are reached, thus providing a systematic approach to improving research quality.

This skill is particularly useful for researchers and developers who need to refine their work iteratively based on expert-level feedback. It is suitable for both academic and industry settings where rigorous review processes are essential. By automating the review cycle, users can save time and focus on implementing the suggested improvements rather than manually managing the review process.

However, it is important to note that this skill is not intended for one-off reviews or projects that require immediate feedback without iterative improvement. It is best used in scenarios where multiple rounds of feedback and refinement are necessary, such as preparing research papers for conferences or enhancing complex projects that undergo several revisions.

When to use it

Use this skill when you need to conduct multiple rounds of reviews and improvements on research projects, especially when preparing for submissions.

When not to use it

Avoid using this skill for quick reviews or projects that do not require extensive iterative feedback.

What you can build with it

Preparing a Research Paper

Use this skill to iteratively refine your research paper based on expert feedback before submission.

Enhancing a Software Project

Implement the Auto Review Loop to continuously improve software documentation or features based on review feedback.

Conducting Peer Reviews

Utilize the skill to automate the process of reviewing peer submissions, ensuring thorough feedback is provided.

How to install Auto Review Loop

View source

1. Install with the skills CLI

npx skills add wanshuiyin/auto-claude-code-research-in-sleep/auto-review-loop-llm --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by wanshuiyin

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.

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:

{
  "mcpServers": {
    "llm-chat": {
      "command": "/usr/bin/python3",
      "args": ["/Users/yourname/.claude/mcp-servers/llm-chat/server.py"],
      "env": {
        "LLM_API_KEY": "your-api-key",
        "LLM_BASE_URL": "https://api.deepseek.com/v1",
        "LLM_MODEL": "deepseek-chat"
      }
    }
  }
}

Supported Providers

ProviderLLM_BASE_URLLLM_MODEL
OpenAIhttps://api.openai.com/v1gpt-4o, o3
DeepSeekhttps://api.deepseek.com/v1deepseek-chat, deepseek-reasoner
MiniMaxhttps://api.minimax.io/v1MiniMax-M3
Kimi (Moonshot)https://api.moonshot.cn/v1moonshot-v1-8k, moonshot-v1-32k
ZhiPu (GLM)https://open.bigmodel.cn/api/paas/v4glm-4, glm-4-plus
SiliconFlowhttps://api.siliconflow.cn/v1Qwen/Qwen2.5-72B-Instruct
้˜ฟ้‡Œไบ‘็™พ็‚ผhttps://dashscope.aliyuncs.com/compatible-mode/v1qwen-max
้›ถไธ€ไธ‡็‰ฉhttps://api.lingyiwanwu.com/v1yi-large

API Call Method

Primary: MCP Tool

mcp__llm-chat__chat:
  prompt: |
    [Review prompt content]
  model: "deepseek-chat"
  system: "You are a senior ML reviewer..."

Fallback: curl

curl -s "${LLM_BASE_URL}/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${LLM_API_KEY}" \
  -d '{
    "model": "${LLM_MODEL}",
    "messages": [
      {"role": "system", "content": "You are a senior ML reviewer..."},
      {"role": "user", "content": "[review prompt]"}
    ],
    "max_tokens": 4096
  }'

State Persistence (Compact Recovery)

Persist state to review-stage/REVIEW_STATE.json after each round:

{
  "round": 2,
  "status": "in_progress",
  "last_score": 5.0,
  "last_verdict": "not ready",
  "pending_experiments": [],
  "timestamp": "2026-03-15T10:00:00"
}

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:

mcp__llm-chat__chat:
  system: "You are a senior ML reviewer (NeurIPS/ICML level)."
  prompt: |
    [Round N/MAX_ROUNDS of autonomous review loop]

    [Full research context: claims, methods, results, known weaknesses]
    [Changes since last round, if any]

    1. Score this work 1-10 for a top venue
    2. List remaining critical weaknesses (ranked by severity)
    3. For each weakness, specify the MINIMUM fix
    4. State clearly: is this READY for submission? Yes/No/Almost

    Be brutally honest. If the work is ready, say so clearly.

If MCP NOT available:

curl -s "${LLM_BASE_URL}/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${LLM_API_KEY}" \
  -d '{
    "model": "${LLM_MODEL}",
    "messages": [
      {"role": "system", "content": "You are a senior ML reviewer (NeurIPS/ICML level)."},
      {"role": "user", "content": "[Full review prompt]"}
    ],
    "max_tokens": 4096
  }'

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:

## Round N (timestamp)

### Assessment (Summary)
- Score: X/10
- Verdict: [ready/almost/not ready]
- Key criticisms: [bullet list]

### Reviewer Raw Response

<details>
<summary>Click to expand full reviewer response</summary>

[Paste the COMPLETE raw response here โ€” verbatim, unedited.]

</details>

### Actions Taken
- [what was implemented/changed]

### Results
- [experiment outcomes, if any]

### Status
- [continuing to round N+1 / stopping]

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+

mcp__llm-chat__chat:
  system: "You are a senior ML reviewer (NeurIPS/ICML level)."
  prompt: |
    [Round N/MAX_ROUNDS of autonomous review loop]

    ## Previous Review Summary (Round N-1)
    - Previous Score: X/10
    - Previous Verdict: [ready/almost/not ready]
    - Previous Key Weaknesses: [list]

    ## Changes Since Last Review
    1. [Action 1]: [result]
    2. [Action 2]: [result]

    ## Updated Results
    [paste updated metrics/tables]

    Please re-score and re-assess:
    1. Score this work 1-10 for a top venue
    2. List remaining critical weaknesses (ranked by severity)
    3. For each weakness, specify the MINIMUM fix
    4. State clearly: is this READY for submission? Yes/No/Almost

    Be brutally honest. If the work is ready, say so clearly.

Output Protocols

Follow these shared protocols for all output files:

Frequently asked questions about Auto Review Loop

Similar skills