/review
Review any research artifact (idea, proposal, experiment plan, paper draft, claim) using cross-model review.
Uses Review LLM as an independent reviewer. Outputs a structured score, actionable improvement suggestions,
and a mapping to wiki entities (which claims need strengthening, which gaps are discovered).
Supports three difficulty levels (standard / hard / adversarial) and four review focuses.
Can be used standalone or called by /ideate, /refine, /exp-design.
Inputs
artifact: the artifact to review, one of:
- slug of a wiki page (e.g.
sparse-lora-for-edge-devices, searched in ideas/experiments/claims/)
- file path (e.g.
wiki/outputs/paper-draft-v1.md)
- free text (directly pasted proposal or idea description)
--difficulty (optional, default standard):
standard: single-round review, delivers structured feedback
hard: multi-round dialogue (up to 3 rounds), Claude rebuts each weakness
adversarial: multi-round dialogue (up to 3 rounds), Review LLM additionally attempts to find fatal flaws, simulating the harshest reviewer
--focus (optional, default comprehensive review):
method: focus on technical correctness, novelty, and feasibility of method design
evidence: focus on sufficiency of evidence, experimental rigor, claim support
writing: focus on clarity, structural organization, and argumentative logic
completeness: focus on missing content (related work, ablations, baselines)
Outputs
- Review Report (output to terminal):
- Overall Score (1-10)
- Strengths (list of positives)
- Weaknesses (list of issues, ranked by severity)
- Questions (reviewer questions)
- Actionable Suggestions (improvement suggestions ranked by priority)
- Wiki Entity Mapping (which claims need strengthening, which gaps were found)
- Verdict:
ready / needs-work / major-revision / rethink
- If
--difficulty >= hard: additionally includes multi-round dialogue history and final revised score
- This skill does not directly modify the wiki, but outputs a list of suggested wiki updates
Wiki Interaction
Reads
wiki/papers/*.md — locate papers cited by the artifact, verify citation accuracy
wiki/concepts/*.md — understand technical concepts involved in the artifact
wiki/claims/*.md — check the current status and confidence of claims the artifact depends on
wiki/experiments/*.md — find related experiment results
wiki/ideas/*.md — if reviewing an idea, check its context
wiki/graph/context_brief.md — global context
wiki/graph/open_questions.md — check completeness against the gap map
.claude/skills/shared-references/cross-model-review.md — reviewer independence principle
Writes
- None. Review is a read-only query operation.
- Review results are output to terminal; the user or caller (e.g. /refine) decides whether to apply them.
Graph edges created
Workflow
Precondition: confirm working directory is the wiki project root (containing wiki/, raw/, tools/).
Step 1: Load Context
Parse artifact:
- If slug: search sequentially in
wiki/ideas/, wiki/experiments/, wiki/claims/, wiki/papers/, wiki/outputs/ for {slug}.md
- If file path: read directly
- If free text: use directly
Determine artifact type: idea / experiment / claim / paper-draft / proposal / other
Load relevant wiki context:
- Read
wiki/graph/context_brief.md for global perspective
- Read
wiki/graph/open_questions.md for knowledge gap list
- Load relevant wiki pages by artifact type:
- idea → its origin_gaps claims, related papers
- experiment → its target_claim, related experiments
- claim → its evidence sources, related papers and experiments
- paper-draft → all wiki pages it cites
Read cross-model-review.md: confirm Review LLM independence principle
Build reviewer system prompt (based on --focus):
Base prompt (all focuses):
You are a senior ML researcher reviewing a research artifact.
Be thorough, specific, and constructive. For every weakness, suggest a concrete fix.
Score on a 1-10 scale where:
- 1-3: Fundamental flaws, not salvageable in current form
- 4-5: Significant issues but core idea may have merit
- 6-7: Solid work with clear areas for improvement
- 8-9: Strong work, minor issues only
- 10: Exceptional, publication-ready
Focus-specific additions:
method: additionally assess technical correctness, novelty of approach, feasibility, comparison to alternatives
evidence: additionally assess experimental rigor, statistical significance, claim-evidence alignment, missing controls
writing: additionally assess clarity, logical flow, notation consistency, figure quality, related work coverage
completeness: additionally assess missing baselines, missing ablations, missing datasets, missing related work, reproducibility
Adversarial addition (adversarial mode only):
Additionally: actively search for fatal flaws. A fatal flaw is anything that,
if true, would make the entire contribution invalid (incorrect proof, data leakage,
unfair comparison, published prior work). If you find one, flag it clearly.
Step 2: Review LLM Initial Review
Follow cross-model-review.md: do not send any of Claude's pre-judgments to Review LLM.
mcp__llm-review__chat:
system: {reviewer system prompt from Step 1}
message: |
## Artifact to Review
{artifact full text}
## Context from Knowledge Base
{relevant wiki context: related claims with status/confidence, related experiments, gap map entries}
## Review Instructions
Please provide:
1. **Strengths** (3-5 bullet points)
2. **Weaknesses** (ranked by severity, each with a concrete suggestion to fix)
3. **Questions** (things that are unclear or need clarification)
4. **Score** (1-10 with one-sentence justification)
5. **Verdict**: ready / needs-work / major-revision / rethink
6. **Claim-level feedback**: For each claim referenced in the artifact, assess whether the evidence is sufficient. List any claims that need stronger support.
7. **Knowledge gaps identified**: Any open questions or missing knowledge that would strengthen this work.
Record the threadId returned by Review LLM (for multi-round dialogue in Step 3).
Step 3: Multi-Round Dialogue (hard / adversarial mode)
Skip this step if --difficulty is standard.
Respond to each of Review LLM's weaknesses (up to 3 rounds):
Round N (N = 1, 2, 3):
Claude analyzes Review LLM's weaknesses and classifies each:
- Rebuttal: Claude has strong reasoning or wiki evidence to counter it → write a rebuttal
- Acknowledge: the weakness genuinely exists → acknowledge it and propose a fix
- Clarify: the weakness is based on a misunderstanding → provide clarification
Send Claude's response to Review LLM:
mcp__llm-review__chat-reply:
threadId: {from Step 2}
message: |
Thank you for the review. Here are my responses:
{for each weakness: rebuttal / acknowledgment / clarification}
Please re-evaluate considering these responses. Update your score if warranted.
If --difficulty == adversarial: Also, please try harder to find any remaining
fatal flaws I may have missed.
Review LLM responds with a new assessment and revised score
If Review LLM's score change < 0.5 and no new weaknesses → stop dialogue (converged)
If 3 rounds reached → stop dialogue
Step 4: Structured Output
Synthesize Step 2 + Step 3 results into a structured Review Report:
# Review Report: {artifact title}
## Meta
- **Artifact type**: {idea / experiment / claim / paper-draft / proposal}
- **Difficulty**: {standard / hard / adversarial}
- **Focus**: {method / evidence / writing / completeness / comprehensive}
- **Reviewer**: Review LLM (configured in `.env`)
- **Rounds**: {1 for standard, N for hard/adversarial}
## Score: {final score}/10 — {verdict}
| Verdict | Meaning |
|---------|---------|
| ready | Ready to use or submit directly |
| needs-work | Clear improvement points; usable after fixes |
| major-revision | Core sections need significant revision |
| rethink | Fundamental direction may be flawed; reconsider |
## Strengths
1. {strength 1}
2. {strength 2}
...
## Weaknesses (by severity)
### Critical
- {weakness}: {specific description} → **Fix**: {specific fix suggestion}
### Major
- {weakness}: {specific description} → **Fix**: {specific fix suggestion}
### Minor
- {weakness}: {specific description} → **Fix**: {specific fix suggestion}
## Questions
1. {question}
...
## Wiki Entity Mapping
### Claims needing stronger support
| Claim | Current confidence | Issue | Suggested action |
|-------|-------------------|-------|------------------|
| [[claim-slug]] | 0.6 | Evidence is indirect | Run targeted experiment |
### Knowledge gaps identified
| Gap | Related to | Suggested action |
|-----|-----------|------------------|
| {description} | [[slug]] | /ingest, /exp-run, or /query |
### Suggested wiki updates
- `wiki/claims/{slug}.md`: update confidence, add evidence note
- `wiki/ideas/{slug}.md`: add risk factor from review
- `wiki/graph/open_questions.md`: will be updated on next rebuild
## Dialogue History (hard/adversarial only)
### Round 1
**Review LLM**: {summary of initial review}
**Claude**: {summary of rebuttals/acknowledgments}
### Round 2
**Review LLM**: {updated assessment}
...
## Actionable Items (ranked)
1. [CRITICAL] {action item}
2. [MAJOR] {action item}
3. [MINOR] {action item}
Constraints
- Reviewer independence: strictly follow
shared-references/cross-model-review.md; do not leak Claude's pre-judgments to Review LLM
- Do not modify wiki: review only outputs suggestions; it does not directly modify any wiki pages. Wiki modifications are handled by the caller (e.g. /refine)
- Scores must have justification: scores without a rationale are not accepted
- Weaknesses must have fixes: every weakness must include a specific, actionable fix suggestion; vague criticism is not accepted
- Claim-level mapping is required: output must include the Wiki Entity Mapping section, mapping review findings to specific wiki entities
- Adversarial mode must search for fatal flaws: e.g. fully published identical work, incorrect proofs, data leakage
- Multi-round dialogue capped at 3 rounds: prevents infinite loops; output current state if 3 rounds do not converge
- Use [[slug]] when referencing wiki pages: all references to wiki pages use wikilink syntax
Error Handling
- Artifact not found: prompt user to check slug or path, list likely candidate pages
- Review LLM unavailable: downgrade to Claude self-review mode; annotate report with "single-model review, cross-model verification unavailable"; recommend the user retry with Review LLM later
- Wiki empty: proceed with review normally, but annotate Wiki Entity Mapping section with "wiki empty, no entity mapping available"
- Artifact too long: if it exceeds Review LLM's context window, review section by section and merge at the end
- Review LLM returns invalid response: retry once; if still invalid, use Claude self-review fallback
- Review LLM does not converge in multi-round dialogue: force-stop after 3 rounds; output the last round's score and summary
Dependencies
Tools(via Bash)
- No direct tool calls (review does not require deterministic tools)
MCP Servers
mcp__llm-review__chat — Review LLM initial review (Step 2)
mcp__llm-review__chat-reply — Review LLM multi-round dialogue (Step 3)
Claude Code Native
Read — read artifact and wiki pages
Glob — find wiki page corresponding to artifact
Shared References
.claude/skills/shared-references/cross-model-review.md — reviewer independence principle (required reading)
Called by
/ideate Phase 4 (review top ideas)
/refine each iteration round (review current version)
/exp-design --review (review experiment plan)
1---2name: review3description: General-purpose cross-model review — Review LLM independently reviews any research artifact, outputs structured scores, wiki entity mapping, and improvement suggestions4---56# /review78> Review any research artifact (idea, proposal, experiment plan, paper draft, claim) using cross-model review.9> Uses Review LLM as an independent reviewer. Outputs a structured score, actionable improvement suggestions,10> and a mapping to wiki entities (which claims need strengthening, which gaps are discovered).11> Supports three difficulty levels (standard / hard / adversarial) and four review focuses.12> Can be used standalone or called by /ideate, /refine, /exp-design.1314## Inputs1516- `artifact`: the artifact to review, one of:17 - slug of a wiki page (e.g. `sparse-lora-for-edge-devices`, searched in ideas/experiments/claims/)18 - file path (e.g. `wiki/outputs/paper-draft-v1.md`)19 - free text (directly pasted proposal or idea description)20- `--difficulty` (optional, default `standard`):21 - `standard`: single-round review, delivers structured feedback22 - `hard`: multi-round dialogue (up to 3 rounds), Claude rebuts each weakness23 - `adversarial`: multi-round dialogue (up to 3 rounds), Review LLM additionally attempts to find fatal flaws, simulating the harshest reviewer24- `--focus` (optional, default comprehensive review):25 - `method`: focus on technical correctness, novelty, and feasibility of method design26 - `evidence`: focus on sufficiency of evidence, experimental rigor, claim support27 - `writing`: focus on clarity, structural organization, and argumentative logic28 - `completeness`: focus on missing content (related work, ablations, baselines)2930## Outputs3132- **Review Report** (output to terminal):33 - Overall Score (1-10)34 - Strengths (list of positives)35 - Weaknesses (list of issues, ranked by severity)36 - Questions (reviewer questions)37 - Actionable Suggestions (improvement suggestions ranked by priority)38 - Wiki Entity Mapping (which claims need strengthening, which gaps were found)39 - Verdict: `ready` / `needs-work` / `major-revision` / `rethink`40- If `--difficulty >= hard`: additionally includes multi-round dialogue history and final revised score41- This skill **does not directly modify the wiki**, but outputs a list of suggested wiki updates4243## Wiki Interaction4445### Reads46- `wiki/papers/*.md` — locate papers cited by the artifact, verify citation accuracy47- `wiki/concepts/*.md` — understand technical concepts involved in the artifact48- `wiki/claims/*.md` — check the current status and confidence of claims the artifact depends on49- `wiki/experiments/*.md` — find related experiment results50- `wiki/ideas/*.md` — if reviewing an idea, check its context51- `wiki/graph/context_brief.md` — global context52- `wiki/graph/open_questions.md` — check completeness against the gap map53- `.claude/skills/shared-references/cross-model-review.md` — reviewer independence principle5455### Writes56- **None**. Review is a read-only query operation.57 - Review results are output to terminal; the user or caller (e.g. /refine) decides whether to apply them.5859### Graph edges created60- **None**.6162## Workflow6364**Precondition**: confirm working directory is the wiki project root (containing `wiki/`, `raw/`, `tools/`).6566### Step 1: Load Context67681. **Parse artifact**:69 - If slug: search sequentially in `wiki/ideas/`, `wiki/experiments/`, `wiki/claims/`, `wiki/papers/`, `wiki/outputs/` for `{slug}.md`70 - If file path: read directly71 - If free text: use directly722. **Determine artifact type**: idea / experiment / claim / paper-draft / proposal / other733. **Load relevant wiki context**:74 - Read `wiki/graph/context_brief.md` for global perspective75 - Read `wiki/graph/open_questions.md` for knowledge gap list76 - Load relevant wiki pages by artifact type:77 - idea → its origin_gaps claims, related papers78 - experiment → its target_claim, related experiments79 - claim → its evidence sources, related papers and experiments80 - paper-draft → all wiki pages it cites814. **Read cross-model-review.md**: confirm Review LLM independence principle825. **Build reviewer system prompt** (based on --focus):8384 **Base prompt (all focuses):**85 ```86 You are a senior ML researcher reviewing a research artifact.87 Be thorough, specific, and constructive. For every weakness, suggest a concrete fix.88 Score on a 1-10 scale where:89 - 1-3: Fundamental flaws, not salvageable in current form90 - 4-5: Significant issues but core idea may have merit91 - 6-7: Solid work with clear areas for improvement92 - 8-9: Strong work, minor issues only93 - 10: Exceptional, publication-ready94 ```9596 **Focus-specific additions:**97 - `method`: additionally assess technical correctness, novelty of approach, feasibility, comparison to alternatives98 - `evidence`: additionally assess experimental rigor, statistical significance, claim-evidence alignment, missing controls99 - `writing`: additionally assess clarity, logical flow, notation consistency, figure quality, related work coverage100 - `completeness`: additionally assess missing baselines, missing ablations, missing datasets, missing related work, reproducibility101102 **Adversarial addition (adversarial mode only):**103 ```104 Additionally: actively search for fatal flaws. A fatal flaw is anything that,105 if true, would make the entire contribution invalid (incorrect proof, data leakage,106 unfair comparison, published prior work). If you find one, flag it clearly.107 ```108109### Step 2: Review LLM Initial Review110111**Follow cross-model-review.md**: do not send any of Claude's pre-judgments to Review LLM.112113```114mcp__llm-review__chat:115 system: {reviewer system prompt from Step 1}116 message: |117 ## Artifact to Review118 {artifact full text}119120 ## Context from Knowledge Base121 {relevant wiki context: related claims with status/confidence, related experiments, gap map entries}122123 ## Review Instructions124 Please provide:125 1. **Strengths** (3-5 bullet points)126 2. **Weaknesses** (ranked by severity, each with a concrete suggestion to fix)127 3. **Questions** (things that are unclear or need clarification)128 4. **Score** (1-10 with one-sentence justification)129 5. **Verdict**: ready / needs-work / major-revision / rethink130 6. **Claim-level feedback**: For each claim referenced in the artifact, assess whether the evidence is sufficient. List any claims that need stronger support.131 7. **Knowledge gaps identified**: Any open questions or missing knowledge that would strengthen this work.132```133134Record the `threadId` returned by Review LLM (for multi-round dialogue in Step 3).135136### Step 3: Multi-Round Dialogue (hard / adversarial mode)137138Skip this step if `--difficulty` is `standard`.139140**Respond to each of Review LLM's weaknesses** (up to 3 rounds):141142**Round N (N = 1, 2, 3):**1431441. Claude analyzes Review LLM's weaknesses and classifies each:145 - **Rebuttal**: Claude has strong reasoning or wiki evidence to counter it → write a rebuttal146 - **Acknowledge**: the weakness genuinely exists → acknowledge it and propose a fix147 - **Clarify**: the weakness is based on a misunderstanding → provide clarification1481492. Send Claude's response to Review LLM:150 ```151 mcp__llm-review__chat-reply:152 threadId: {from Step 2}153 message: |154 Thank you for the review. Here are my responses:155156 {for each weakness: rebuttal / acknowledgment / clarification}157158 Please re-evaluate considering these responses. Update your score if warranted.159 If --difficulty == adversarial: Also, please try harder to find any remaining160 fatal flaws I may have missed.161 ```1621633. Review LLM responds with a new assessment and revised score1641654. If Review LLM's score change < 0.5 and no new weaknesses → stop dialogue (converged)1665. If 3 rounds reached → stop dialogue167168### Step 4: Structured Output169170Synthesize Step 2 + Step 3 results into a structured Review Report:171172```markdown173# Review Report: {artifact title}174175## Meta176- **Artifact type**: {idea / experiment / claim / paper-draft / proposal}177- **Difficulty**: {standard / hard / adversarial}178- **Focus**: {method / evidence / writing / completeness / comprehensive}179- **Reviewer**: Review LLM (configured in `.env`)180- **Rounds**: {1 for standard, N for hard/adversarial}181182## Score: {final score}/10 — {verdict}183184| Verdict | Meaning |185|---------|---------|186| ready | Ready to use or submit directly |187| needs-work | Clear improvement points; usable after fixes |188| major-revision | Core sections need significant revision |189| rethink | Fundamental direction may be flawed; reconsider |190191## Strengths1921. {strength 1}1932. {strength 2}194...195196## Weaknesses (by severity)197198### Critical199- {weakness}: {specific description} → **Fix**: {specific fix suggestion}200201### Major202- {weakness}: {specific description} → **Fix**: {specific fix suggestion}203204### Minor205- {weakness}: {specific description} → **Fix**: {specific fix suggestion}206207## Questions2081. {question}209...210211## Wiki Entity Mapping212213### Claims needing stronger support214| Claim | Current confidence | Issue | Suggested action |215|-------|-------------------|-------|------------------|216| [[claim-slug]] | 0.6 | Evidence is indirect | Run targeted experiment |217218### Knowledge gaps identified219| Gap | Related to | Suggested action |220|-----|-----------|------------------|221| {description} | [[slug]] | /ingest, /exp-run, or /query |222223### Suggested wiki updates224- `wiki/claims/{slug}.md`: update confidence, add evidence note225- `wiki/ideas/{slug}.md`: add risk factor from review226- `wiki/graph/open_questions.md`: will be updated on next rebuild227228## Dialogue History (hard/adversarial only)229230### Round 1231**Review LLM**: {summary of initial review}232**Claude**: {summary of rebuttals/acknowledgments}233234### Round 2235**Review LLM**: {updated assessment}236...237238## Actionable Items (ranked)2391. [CRITICAL] {action item}2402. [MAJOR] {action item}2413. [MINOR] {action item}242```243244## Constraints245246- **Reviewer independence**: strictly follow `shared-references/cross-model-review.md`; do not leak Claude's pre-judgments to Review LLM247- **Do not modify wiki**: review only outputs suggestions; it does not directly modify any wiki pages. Wiki modifications are handled by the caller (e.g. /refine)248- **Scores must have justification**: scores without a rationale are not accepted249- **Weaknesses must have fixes**: every weakness must include a specific, actionable fix suggestion; vague criticism is not accepted250- **Claim-level mapping is required**: output must include the Wiki Entity Mapping section, mapping review findings to specific wiki entities251- **Adversarial mode must search for fatal flaws**: e.g. fully published identical work, incorrect proofs, data leakage252- **Multi-round dialogue capped at 3 rounds**: prevents infinite loops; output current state if 3 rounds do not converge253- **Use [[slug]] when referencing wiki pages**: all references to wiki pages use wikilink syntax254255## Error Handling256257- **Artifact not found**: prompt user to check slug or path, list likely candidate pages258- **Review LLM unavailable**: downgrade to Claude self-review mode; annotate report with "single-model review, cross-model verification unavailable"; recommend the user retry with Review LLM later259- **Wiki empty**: proceed with review normally, but annotate Wiki Entity Mapping section with "wiki empty, no entity mapping available"260- **Artifact too long**: if it exceeds Review LLM's context window, review section by section and merge at the end261- **Review LLM returns invalid response**: retry once; if still invalid, use Claude self-review fallback262- **Review LLM does not converge in multi-round dialogue**: force-stop after 3 rounds; output the last round's score and summary263264## Dependencies265266### Tools(via Bash)267- No direct tool calls (review does not require deterministic tools)268269### MCP Servers270- `mcp__llm-review__chat` — Review LLM initial review (Step 2)271- `mcp__llm-review__chat-reply` — Review LLM multi-round dialogue (Step 3)272273### Claude Code Native274- `Read` — read artifact and wiki pages275- `Glob` — find wiki page corresponding to artifact276277### Shared References278- `.claude/skills/shared-references/cross-model-review.md` — reviewer independence principle (required reading)279280### Called by281- `/ideate` Phase 4 (review top ideas)282- `/refine` each iteration round (review current version)283- `/exp-design --review` (review experiment plan)