research-review — скилл для Claude Code: критический разбор
Отдаёт вашу работу на разбор внешнему рецензенту: Codex, Gemini, Grok или Claude. Пригодится, когда нужен взгляд со стороны на идеи, статью или результаты экспериментов.
npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill research-review -a claude-codeЧто делает research-review
Скилл собирает брифинг по проекту — читает STORY.md, README.md, черновики статьи, заметки с историей экспериментов — и отправляет его выбранному рецензенту. Тот ищет логические дыры, необоснованные утверждения, недостающие эксперименты и слабые места в подаче. Разбор идёт в несколько раундов, рецензент помнит предыдущие ответы, поэтому уточняющие вопросы не начинают разговор заново.
По умолчанию работает через Codex MCP с моделью gpt-6-astra и уровнем рассуждений ultra. Маршрут рецензента разрешается по цепочке: аргумент — reviewer:, файл .aris/reviewer.json, затем значение по умолчанию. Если выбранный маршрут недоступен, тихого отката на другой бэкенд не будет — это повод проверить настройки до запуска. Для ручного режима нужна модель из другого семейства, чем у исполнителя.
Перед первым запуском подключите MCP-сервер Codex: claude mcp add codex -s user -- python3 "$HOME/aris_repo/mcp-servers/codex-exec/server.py". Путь подставьте свой. Скилл не стоит оборачивать в /loop, /schedule или CronCreate: внешний таймер перезапускает вердикт по часам и рвёт память рецензента между раундами — новых сигналов ноль, токены тратятся полностью. Планируйте ожидание до разбора, а не сам разбор.
Какие задачи решает
- найти логические дыры в черновике статьи до отправки в журнал
- получить критику результатов экспериментов от модели другого семейства
- проверить, хватает ли вклада для топовой конференции
- собрать историю экспериментов и ключевые находки в один брифинг
- провести несколько раундов уточнений с одним рецензентом
Примеры запросов агенту
- разбери моё исследование, файл брифа в
RESEARCH_REVIEW_REQUEST.md - помоги отревьюить статью, начни с методологии
- получи внешний разбор результатов экспериментов из папки
experiments/
Как установить research-review
1Через Skills CLI (Vercel)
npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill research-review -a claude-code2Вручную: положить файлы
~/.claude/skills/research-review/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/research-review/
1Через Skills CLI (Vercel)
npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill research-review -a codex2Вручную: положить файлы
.agents/skills/research-review/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill research-review -a cursor2Вручную: положить файлы
.cursor/skills/research-review/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install wanshuiyin/Auto-claude-code-research-in-sleep research-review2Вручную: положить файлы
.github/skills/research-review/SKILL.md1Через Skills CLI (Vercel)
npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill research-review -a gemini-cli2Командой платформы
gemini skills install https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep --path skills/research-reviewВручную: положить файлы
.devin/skills/research-review/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill research-review -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о research-review
Как установить research-review в Claude?
Выполните npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill research-review -a claude-code. Скилл встанет в ~/.claude/skills/research-review/SKILL.md.
Что делает research-review?
Собирает брифинг по вашему исследованию и отправляет его внешнему рецензенту для многораундового критического разбора. Рецензент ищет пробелы в логике, недостающие эксперименты и слабые места в подаче.
Что нужно для работы скилла?
Подключённый MCP-сервер выбранного рецензента. Для режима по умолчанию это Codex MCP, который даёт доступ к mcp__codex__codex и mcp__codex__codex-reply.
Исходный текст
SKILL.md · MIT
---
name: research-review
description: Get a deep critical review of research from a selected reviewer (Codex by default, Gemini, Grok, Claude Code, or manual). Use when user says "review my research", "help me review", "get external review", or wants critical feedback on research ideas, papers, or experimental results.
argument-hint: "[topic-or-scope]"
allowed-tools: Bash(*), Read, Grep, Glob, Write, Edit, mcp__codex__codex, mcp__codex__codex-reply, mcp__manual_review__review, mcp__manual_review__review_reply, mcp__antigravity__antigravity, mcp__antigravity__antigravity-reply, mcp__grok__grok, mcp__grok__grok-reply, mcp__claude-review__review, mcp__claude-review__review_reply, mcp__claude-review__review_start, mcp__claude-review__review_reply_start, mcp__claude-review__review_status
---
# Research Review via External Reviewer Backend (ultra reasoning)
> 🔒 **Do not wrap this skill in `/loop`, `/schedule`, or `CronCreate`.** It is
> verdict-bearing — it produces a cross-model review verdict, multi-round with
> reviewer thread continuity. An external timer re-fires the verdict on
> wall-clock time and breaks the reviewer's round-to-round memory: zero new
> signal, full token cost. Schedule the *external wait that precedes it* (work
> ready → then review once), not the verdict. See
> [`shared-references/external-cadence.md`](../shared-references/external-cadence.md).
Get a multi-round critical review of research work from the selected external reviewer backend with maximum reasoning depth.
## Constants
- REVIEWER_MODEL = `gpt-6-astra` — Default model for the Codex backend, reasoning effort `ultra` (deep-audit tier). Must be an OpenAI model (e.g., `gpt-6-astra`, `gpt-6.1-sol`). Manual backend uses a model the user chooses — it must be a recognized model from a different family (OpenAI, Anthropic, Google, DeepSeek, Moonshot/Kimi, Qwen).
- **REVIEWER_BACKEND = `codex`** — Default: Codex MCP (ultra). Resolve `— reviewer:`, project `.aris/reviewer.json`, then this default using `reviewer_route.py` (`--host claude-code --tier deep`), per [reviewer-backends.md](../shared-references/reviewer-backends.md). Gemini/Antigravity, Grok, and Claude Code use that contract at every call below. Legacy Oracle/manual contracts remain in `reviewer-routing.md`; unavailable selected routes do not silently fall back.
## Reviewer Calling Convention
When calling the reviewer, branch on REVIEWER_BACKEND:
**If REVIEWER_BACKEND ∈ {antigravity, grok, claude-code}:**
Use the selected first/reply protocol in `reviewer-backends.md`, with the
same review prompt, explicit cwd containing the primary files, and resolved
provider-specific model/effort. Save route, cwd and session id for continuation.
A Claude Code bridge may run DeepSeek; derive family from its reported model.
**If REVIEWER_BACKEND = `codex`:**
Use `mcp__codex__codex` for new review threads.
Use `mcp__codex__codex-reply` for follow-up rounds (reuse threadId).
**If REVIEWER_BACKEND = `manual`:**
Use `mcp__manual_review__review` for new review threads with:
prompt: [exact same prompt that would go to Codex]
config: {"model_reasoning_effort": "xhigh", "executor_model": "<actual executor model>", "require_reviewer_model": true}
Save the returned `threadId`.
Use `mcp__manual_review__review_reply` for follow-up rounds with:
threadId: [saved manual-review threadId]
prompt: [follow-up prompt]
config: {"model_reasoning_effort": "xhigh", "executor_model": "<actual executor model>", "require_reviewer_model": true}
Content fidelity: the manual reviewer should see the same substantive review
brief Codex would read. If the manual UI supports file upload / attachment,
reuse the same brief file; otherwise paste the brief contents inline because
remote web UIs cannot read your local filesystem paths. Review tracing applies
equally to both backends.
## Context: $ARGUMENTS
## Prerequisites
- The selected MCP must be available. For the default **Codex MCP Server**:
```bash
claude mcp add codex -s user -- python3 "$HOME/aris_repo/mcp-servers/codex-exec/server.py" # your ARIS clone's path
```
- This gives Claude Code access to `mcp__codex__codex` and `mcp__codex__codex-reply` tools
## Workflow
### Step 1: Gather Research Context
Before calling the external reviewer, compile a comprehensive briefing:
1. Read project narrative documents (e.g., STORY.md, README.md, paper drafts)
2. Read any memory/notes files for key findings and experiment history
3. Identify: core claims, methodology, key results, known weaknesses
### Step 2: Initial Review (Round 1)
Send a detailed prompt with ultra reasoning, using the selected backend. For
the `codex` backend, keep the MCP payload short: write the full briefing to
`RESEARCH_REVIEW_REQUEST.md`, then point Codex at that file.
*For codex backend:*
```
mcp__codex__codex:
model: gpt-6-astra
config: {"model_reasoning_effort": "ultra"}
prompt: |
Read the review brief at <absolute path to RESEARCH_REVIEW_REQUEST.md>.
Executor notes are not evidence beyond the files they cite, so verify the
referenced artifacts before judging.
Please act as a senior ML reviewer (NeurIPS/ICML level). Start from the
assumption that the work is broken somewhere — your job is to find where.
Be adversarial. Trust nothing the author tells you — verify everything
yourself. Identify:
1. Logical gaps or unjustified claims
2. Missing experiments that would strengthen the story
3. Narrative weaknesses
4. Whether the contribution is sufficient for a top venue
=== SCOPE LIMITS (these bound what you PROPOSE, never what you look for) ===
Report anything that is actually wrong here — including a rare-looking case, if
this repo actually produces it. Then keep the fix in scope:
1. This is a RESEARCH-WORKFLOW tool, not a security paper. Verification is
welcome; over-defense is not. Assume a cooperating operator on their own
machine — a malicious local user is NOT in the threat model.
2. Do NOT propose SHA / hash / content-fingerprint / digest-binding schemes.
Reporting a real defect in hashing code that already exists is fine.
3. NO speculative machinery: do not add feature flags, migration frameworks,
compat layers, wrappers, pins, or similar mechanisms unless evidence shows
a current repo defect they fix or an explicit existing invariant they must
preserve. "Load-bearing", "compatibility", and "not scaffolding" are labels,
not evidence. Point to the failing path/artifact or invariant, and check the
proposal's factual premises, such as whether a named package version exists.
4. NO corner-case obsession: exotic encodings, symlink races, RTL text and
millisecond races are out of scope unless you can show the case arises here.
5. Where a rubric or checklist is genuinely needed, do not over-mechanize
judgement. A clear sentence a human reads beats a scored table nobody
maintains.
Exception: code that runs remote commands, starts a network service, or installs
an MCP server runs on the user's machine with their credentials — trust-boundary
findings there are in scope and the default is strict.
Say plainly when something is correct. Do not manufacture findings.
Be brutally honest. If, after genuinely trying to break it, the work
holds up and is ready, say so clearly.
```
For Antigravity, Grok, or Claude Code, send the same prompt through its selected
first-call tool; do not copy Codex's `config` into another tool. Check successful
completion and actual file coverage before interpreting the response.
The review brief should contain the full research context, the specific
questions, and the primary artifact / raw-result paths the reviewer should
inspect.
*For manual backend:* use `mcp__manual_review__review` with the same brief
contents. If the manual-review UI supports attachments, attach
`RESEARCH_REVIEW_REQUEST.md`; otherwise paste the brief inline. Save the
returned `threadId`.
### Step 3: Iterative Dialogue (Rounds 2-N)
For `codex` backend: use `mcp__codex__codex-reply` with the returned `threadId`.
For `manual` backend: use `mcp__manual_review__review_reply` with the same `threadId`.
For Antigravity, Grok, or Claude Code: use the saved route's continuation protocol
in `reviewer-backends.md`; keep its model/cwd and repeat Claude cwd/tools.
Use the appropriate tool to continue the conversation. For Codex follow-up
rounds, write an updated brief such as `RESEARCH_REVIEW_ROUND_2.md` and send
only the path:
```text
mcp__codex__codex-reply:
threadId: [saved reviewer threadId from Step 2]
# replies inherit the thread's model/effort (gpt-6-astra ultra)
prompt: |
Read the updated review brief at <absolute path to
RESEARCH_REVIEW_ROUND_2.md>.
Focus on unresolved weaknesses and whether the revision actually fixed them.
```
For manual follow-up rounds, attach that same updated brief if possible;
otherwise paste it inline.
For each round:
1. **Respond** to criticisms with evidence/counterarguments
2. **Ask targeted follow-ups** on the most actionable points
3. **Request specific deliverables**: experiment designs, paper outlines, claims matrices
Key follow-up patterns:
- "If we reframe X as Y, does that change your assessment?"
- "What's the minimum experiment to satisfy concern Z?"
- "Please design the minimal additional experiment package (highest acceptance lift per GPU week)"
- "Please write a mock NeurIPS/ICML review with scores"
- "Give me a results-to-claims matrix for possible experimental outcomes"
### Step 4: Convergence
Stop iterating when:
- Both sides agree on the core claims and their evidence requirements
- A concrete experiment plan is established
- The narrative structure is settled
### Step 5: Document Everything
Save the full interaction and conclusions to a review document in the project root:
- Round-by-round summary of criticisms and responses
- Final consensus on claims, narrative, and experiments
- Claims matrix (what claims are allowed under each possible outcome)
- Prioritized TODO list with estimated compute costs
- Paper outline if discussed
Update project memory/notes with key review conclusions.
> **Composed mode** — if invoked with `— composed: <canonical-report-path>` (an
> orchestrator like `/idea-discovery` passes this), do **not** write a standalone review
> `.md` in the project root. The raw conversation is already persisted to `.aris/traces/…`
> (see *Review Tracing* below — that audit copy is kept in every mode); fold the review
> *conclusions* (consensus, claims matrix, prioritized TODOs) into the orchestrator's
> canonical report and cite the trace path there. **Default (no `— composed:` directive):
> behave exactly as above — write the standalone review document.** Never infer composed
> mode from a report file merely existing. Full rules:
> [`shared-references/output-composition.md`](../shared-references/output-composition.md).
## Key Rules
- For the default Codex route, pin `model: gpt-6-astra` + `config: {"model_reasoning_effort": "ultra"}` (deep-audit tier; capability fallback per `reviewer-routing.md`, never below `xhigh`). Other selected routes use their resolved model/effort.
- For `manual`, use the identity-bearing config above. Tool fields belong to their own provider contracts; do not copy a payload between bridges.
- Put comprehensive context in the review brief. Codex can read local files
when you pass an absolute path; manual reviewers usually cannot, so attach or
paste the same brief there.
- Be honest about weaknesses — hiding them leads to worse feedback
- Push back on criticisms you disagree with, but accept valid ones
- Focus on ACTIONABLE feedback — "what experiment would fix this?"
- Document the threadId for potential future resumption
- The review document should be self-contained (readable without the conversation)
## Prompt Templates
### For initial review:
"I'm going to present a complete ML research project for your critical review. Please act as a senior ML reviewer (NeurIPS/ICML level)..."
### For experiment design:
"Please design the minimal additional experiment package that gives the highest acceptance lift per GPU week. Our compute: [describe]. Be very specific about configurations."
### For paper structure:
"Please turn this into a concrete paper outline with section-by-section claims and figure plan."
### For claims matrix:
"Please give me a results-to-claims matrix: what claim is allowed under each possible outcome of experiments X and Y?"
### For mock review:
"Please write a mock NeurIPS review with: Summary, Strengths, Weaknesses, Questions for Authors, Score, Confidence, and What Would Move Toward Accept."
## Review Tracing
After each reviewer call, save the trace following `shared-references/review-tracing.md` (Policy C — forensic; never silently skip). Record the selected route/session/cwd, requested and reported models, actual effort, raw response, completion and scope, verdict, independence and acceptance per `reviewer-backends.md`. Use `save_trace.sh` (resolved per the chain in `shared-references/integration-contract.md` §2) or write files directly to `.aris/traces/<skill>/<date>_run<NN>/`. Respect the `--- trace:` parameter (default: `full`).
A verdict-bearing manual response MUST begin with
`Reviewer-Model: <exact-model-id>` — pass the model THIS session is actually
running as in `executor_model`. Missing, unknown, or same-family identity
cannot acquit; emit `REVIEW_UNAVAILABLE` rather than guessing. If the executor
model cannot be named, manual review's cross-family claim is unprovable — say
so in the report instead of asserting it.
© wanshuiyin · MIT · wanshuiyin/Auto-claude-code-research-in-sleep