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 exte
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-research-review-c443273dd1d7 ,按照其中的说明把「research-review」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
🔒 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-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-5.5, o3). 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).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", "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": "", "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.
claude mcp add codex -s user -- python3 "$HOME/aris_repo/mcp-servers/codex-exec/server.py" # your ARIS clone's path
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-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.
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-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:
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-6-astra + config: {"model_reasoning_effort": "ultra"} for reviews (deep-audit tier; capability fallback per reviewer-routing.md, never below xhigh)manual, use the identity-bearing config from the Reviewer Calling Convention above; model, sandbox and cwd are Codex-only"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).
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.