skills/research-review/SKILL.md
Get a deep critical review of research from an external reviewer backend (Codex 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.
npx skillsauth add wanshuiyin/Auto-claude-code-research-in-sleep research-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
🔒 Do not wrap this skill in
/loop,/schedule, orCronCreate. 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. Seeshared-references/external-cadence.md.
Get a multi-round critical review of research work from the selected external reviewer backend with maximum reasoning depth.
gpt-5.6-sol — Default model for the Codex backend, reasoning effort ultra (deep-audit tier). Must be an OpenAI model (e.g., gpt-5.6-sol, gpt-5.5, o3). Manual backend uses whatever model the user chooses.codex — Default: Codex MCP (ultra). Override with — reviewer: oracle-pro for Oracle MCP, or — reviewer: manual for Manual Review MCP. If manual-review MCP is unavailable, stop and print the install command; do not fall back to Codex. See shared-references/reviewer-routing.md.When calling the reviewer, branch on REVIEWER_BACKEND:
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"}
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"}
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.
claude mcp add codex -s user -- codex mcp-server
mcp__codex__codex and mcp__codex__codex-reply toolsBefore calling the external reviewer, compile a comprehensive briefing:
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-5.6-sol
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
Please be brutally honest.
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.
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.
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:
mcp__codex__codex-reply:
threadId: [saved reviewer threadId from Step 2]
# replies inherit the thread's model/effort (gpt-5.6-sol 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:
Key follow-up patterns:
Stop iterating when:
Save the full interaction and conclusions to a review document in the project root:
Update project memory/notes with key review conclusions.
Composed mode — if invoked with
— composed: <canonical-report-path>(an orchestrator like/idea-discoverypasses this), do not write a standalone review.mdin 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.
model: gpt-5.6-sol + config: {"model_reasoning_effort": "ultra"} for reviews (deep-audit tier; capability fallback per reviewer-routing.md, never below xhigh)"I'm going to present a complete ML research project for your critical review. Please act as a senior ML reviewer (NeurIPS/ICML level)..."
"Please design the minimal additional experiment package that gives the highest acceptance lift per GPU week. Our compute: [describe]. Be very specific about configurations."
"Please turn this into a concrete paper outline with section-by-section claims and figure plan."
"Please give me a results-to-claims matrix: what claim is allowed under each possible outcome of experiments X and Y?"
"Please write a mock NeurIPS review with: Summary, Strengths, Weaknesses, Questions for Authors, Score, Confidence, and What Would Move Toward Accept."
After each reviewer call (mcp__codex__codex, mcp__codex__codex-reply, mcp__manual_review__review, or mcp__manual_review__review_reply), save the trace following shared-references/review-tracing.md (Policy C — forensic; never silently skip). 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).
development
Search GitHub Issues and Discussions for software errors, version compatibility problems, and exact error-string matches. Use for debugging and discovery only; results are not paper-citation evidence.
development
Search GitHub Issues and Discussions for software errors, version compatibility problems, and exact error-string matches. Use for debugging and discovery only; results are not paper-citation evidence.
testing
Run the Anti-Autoresearch integrity-forensics sweep (span-anchored evidence ledger → GPT auditors propose findings → deterministic rules-only adjudicator) against a paper via a SHA-pinned thin launcher — then convert the verdict into a typed policy gate (BLOCK/WARN/NO_NEW_BLOCKER) and an append-only obligations ledger. Use when user says "integrity forensics", "forensic audit this paper", "投稿前自查诚信", "审这篇论文的诚信", or says "anti-autoresearch" when the upstream repo's own skills are not installed. Also invoked by /paper-writing (submission self-forensics, default ON), /peer-review (forensic appendix), /resubmit-pipeline.
testing
Privileged applier that LANDS meta-optimize / corpus-audit patches the user approved — the ONLY skill permitted to mutate the skill corpus from a self-modification proposal, with cross-model jury and human approval at landing. Use when the user says "meta apply", "/meta-apply", "land the staged patches", "应用优化", after a /meta-optimize run.