Seven-Pass Adversarial Review
Runs seven independent reviewers, each focused on a single lens, then synthesizes their findings into one prioritized revision plan. Pattern 15 from the workflow guide, mechanized.
Why seven passes? A single-agent review blends lenses and softens each one. Seven forked agents each approach the paper with full context budget for their own lens, then a synthesizer resolves conflicts and de-duplicates.
When to pick this over /review-paper: This skill costs roughly 7× more tokens than /review-paper (default) and ~2× more than /review-paper --adversarial. Use it when the paper is submission-ready or at R&R stage and you need maximum lens coverage. For early drafts or iterative work, /review-paper is the right tool. For journal-simulation pressure test, use /review-paper --peer <journal> instead.
Inputs
$0 — manuscript path (.tex, .qmd, .md, or .pdf). Required.
The Seven Lenses
Each lens runs as a forked subagent (context: fork) so the main conversation stays clean.
| # |
Lens |
Focus |
Agent type |
| 1 |
Abstract audit |
Does the abstract state the question, method, result, and contribution? Does it match the paper? |
general-purpose |
| 2 |
Intro structure |
Does the intro follow Cochrane / Varian framework? Literature placement? Contribution clarity? |
general-purpose |
| 3 |
Methods / identification |
Are assumptions stated? Is identification credible? Are alternatives addressed? |
domain-reviewer |
| 4 |
Results + tables |
Do tables read standalone? Is magnitude + significance discussed? Units consistent? |
general-purpose |
| 5 |
Robustness |
Are obvious threats pre-empted? Is the robustness section convincing or theatrical? |
general-purpose |
| 6 |
Prose quality |
Sentence-level clarity, hedging, passive voice, paragraph cohesion |
proofreader |
| 7 |
Citation audit |
Invokes /validate-bib --semantic; checks cite-claim direction for top-10 works |
general-purpose |
Workflow
Phase 0: Pre-flight
- Resolve manuscript path.
- Decide if
.pdf → extract text first (pdftotext -layout).
- Create output dir:
quality_reports/seven_pass_[stem]/.
Phase 1: Spawn 7 reviewers in parallel
In a single message, spawn 7 Task tool calls (one per lens). Each subagent gets:
- The manuscript path (to re-read with its own context).
- The lens-specific prompt (below).
- Instructions to write to
quality_reports/seven_pass_[stem]/lens_[N]_[lens-name].md.
- A closing
findings: + scorecard: block in the shared schema (orchestration-schemas.md): severity: CRITICAL | MAJOR | MINOR, with evidence and change_my_mind on every CRITICAL/MAJOR. Phase 2 reduces over these typed findings — it does not re-read the prose.
This is the fan-out primitive from orchestrator-protocol.md; Task subagents are the portable mechanism (the agents that fill lenses 3/6 are in agent-fleet.md).
Lens prompt rubrics are embedded inline below — one summary paragraph per lens. Each forked subagent receives its lens's rubric plus the manuscript path.
Lens prompt summaries:
- Lens 1 (Abstract): Does the first sentence state the question? Does it name the method? Quantify the headline result? State one-sentence contribution? Cross-check: do these four things match the body?
- Lens 2 (Intro): Does the intro open with the question? Hook → context → contribution → roadmap? Lit review placed correctly (after the hook, not before)? Contribution-counted (1, 2, 3…)? Preview of findings with magnitudes?
- Lens 3 (Methods): Is every assumption stated? Are they strong or weak? Is identification one-liner clear? Are known violations (selection, measurement, reverse causality, SUTVA) addressed? Are instruments / RDD / DiD assumptions explicit and defensible?
- Lens 4 (Results): Does each table read standalone (caption, units, SEs clarified)? Is magnitude interpreted (not just significance)? Are units consistent across tables? Are figures legible at 8pt?
- Lens 5 (Robustness): Does the paper ANTICIPATE a sharp referee's objections? Are robustness checks motivated, or just listed? Power/placebo tests present? Heterogeneity explored where promised?
- Lens 6 (Prose): Sentences under 30 words? Active voice dominant? Hedging proportionate (neither overclaiming nor endless "may suggest")? Paragraph topic sentences?
- Lens 7 (Citations): Invoke
/validate-bib --semantic. For top-10 cited works, does the in-text claim match the cited paper's actual finding direction? Are contemporary / competing works cited?
Phase 2: Synthesize (reduce → judge, with the hallucination gate)
Wait for all 7 lens reports. Reduce, don't re-review: stack the seven scorecards and apply the gate predicate from orchestration-schemas.md §3 — the Executive verdict is a function of the typed findings, not a fresh eighth opinion. Then run the post-judge hallucination gate (§4): any CRITICAL the synthesis introduces that no lens raised must be re-verified in a fresh claim-verifier fork, or dropped to [JUDGE-HALLUCINATED] and the verdict recomputed. A synthesis may freely downgrade or de-duplicate lens findings; it may not invent a new blocker.
Then produce:
quality_reports/seven_pass_[stem]/_SYNTHESIS.md
# Seven-Pass Review: [Manuscript]
**Date:** YYYY-MM-DD
**Path:** [manuscript]
## Executive verdict
**Overall state:** [SUBMIT / REVISE-MINOR / REVISE-MAJOR / REJECT-AND-RESTART]
## Cross-lens CRITICAL issues
| # | Lens(es) | Issue | Recommendation |
|---|---|---|---|
## MAJOR issues (second-round)
| # | Lens(es) | Issue |
|---|---|---|
## MINOR polish
[bulleted]
## Per-lens scorecard
| Lens | Critical | Major | Minor | Score/10 |
|---|---|---|---|---|
| 1. Abstract | | | | |
| 2. Intro | | | | |
| 3. Methods | | | | |
| 4. Results | | | | |
| 5. Robustness | | | | |
| 6. Prose | | | | |
| 7. Citations | | | | |
| **Overall** | | | | |
## Revision plan (in recommended order)
1. [Highest-leverage fix — usually a lens with 2+ CRITICALs]
2. …
7. [Lowest-leverage polish]
## Contradictions between lenses
[If two lenses disagree, surface here. E.g., Lens 2 says "expand contribution" but Lens 6 says "trim intro".]
Phase 3: Token-budget report
After synthesis, print:
Seven-pass review complete.
Subagents: 7 (parallel) + 1 synthesizer.
Approx token usage: ~80–120k (vs ~15k for single-pass /review-paper).
Runtime: ~3–5 min wall-clock.
For cheaper alternatives:
- Single-pass: /review-paper
- Iterative: /review-paper --adversarial
When to use this skill
- Before first submission to a top journal.
- After a major revision when you want to catch drift.
- R&R when referees disagree — surfaces contradictions your revision must navigate.
When NOT to use
- Early drafts (use
/review-paper single-pass first).
- Short notes, comments, or replies (overkill).
- When you've already run this in the last 7 days and nothing substantive changed.
Cross-references
.claude/skills/review-paper/SKILL.md — the single-pass and --adversarial modes (cheaper, faster).
.claude/skills/validate-bib/SKILL.md — invoked by Lens 7.
.claude/skills/audit-reproducibility/SKILL.md — complementary; numeric-claims side of the audit.
- Workflow guide, Pattern 15 — the narrative explanation of why seven lenses.
Exit behavior
- Exits 0 always (review is informational). The synthesis report's "Executive verdict" is the gate.
- Any
CRITICAL at the top of the synthesis should block submission until resolved.
What this skill does NOT do
- Re-run seven lenses if the manuscript hasn't changed — check git diff against last run date in
_SYNTHESIS.md, skip unchanged lenses if requested via --incremental (future).
- Auto-apply fixes — that's
/review-paper --adversarial's job.
- Replace human judgment. A reviewer who knows your subfield still beats seven LLMs.
1---2name: seven-pass-review3description: Mechanize Pattern 15 — the seven-pass adversarial review protocol for academic manuscripts. Spawns 7 forked subagents in parallel (abstract, intro, methods, results, robustness, prose, citations), then synthesizes a prioritized revision checklist. Use for submission-ready or R&R-stage papers where single-pass review isn't enough.4---5
6# Seven-Pass Adversarial Review
7
8Runs seven independent reviewers, each focused on a single lens, then synthesizes their findings into one prioritized revision plan. Pattern 15 from the workflow guide, mechanized.
9
10**Why seven passes?** A single-agent review blends lenses and softens each one. Seven forked agents each approach the paper with full context budget for their own lens, then a synthesizer resolves conflicts and de-duplicates.
11
12> **When to pick this over `/review-paper`:** This skill costs roughly 7× more tokens than `/review-paper` (default) and ~2× more than `/review-paper --adversarial`. Use it when the paper is submission-ready or at R&R stage and you need maximum lens coverage. For early drafts or iterative work, `/review-paper` is the right tool. For journal-simulation pressure test, use `/review-paper --peer <journal>` instead.
13
14## Inputs
15
16- `$0` — manuscript path (`.tex`, `.qmd`, `.md`, or `.pdf`). Required.
17
18## The Seven Lenses
19
20Each lens runs as a **forked subagent** (context: fork) so the main conversation stays clean.
21
22| # | Lens | Focus | Agent type |
23|---|---|---|---|
24| 1 | Abstract audit | Does the abstract state the question, method, result, and contribution? Does it match the paper? | general-purpose |
25| 2 | Intro structure | Does the intro follow Cochrane / Varian framework? Literature placement? Contribution clarity? | general-purpose |
26| 3 | Methods / identification | Are assumptions stated? Is identification credible? Are alternatives addressed? | domain-reviewer |
27| 4 | Results + tables | Do tables read standalone? Is magnitude + significance discussed? Units consistent? | general-purpose |
28| 5 | Robustness | Are obvious threats pre-empted? Is the robustness section convincing or theatrical? | general-purpose |
29| 6 | Prose quality | Sentence-level clarity, hedging, passive voice, paragraph cohesion | proofreader |
30| 7 | Citation audit | Invokes `/validate-bib --semantic`; checks cite-claim direction for top-10 works | general-purpose |
31
32## Workflow
33
34### Phase 0: Pre-flight
35
361. Resolve manuscript path.
372. Decide if `.pdf` → extract text first (`pdftotext -layout`).
383. Create output dir: `quality_reports/seven_pass_[stem]/`.
39
40### Phase 1: Spawn 7 reviewers in parallel
41
42In a single message, spawn 7 Task tool calls (one per lens). Each subagent gets:
43
44- The manuscript path (to re-read with its own context).
45- The lens-specific prompt (below).
46- Instructions to write to `quality_reports/seven_pass_[stem]/lens_[N]_[lens-name].md`.
47- A closing `findings:` + `scorecard:` block in the shared schema ([`orchestration-schemas.md`](../../references/orchestration-schemas.md)): `severity: CRITICAL | MAJOR | MINOR`, with `evidence` and `change_my_mind` on every CRITICAL/MAJOR. Phase 2 reduces over these typed findings — it does not re-read the prose.
48
49This is the **fan-out** primitive from [`orchestrator-protocol.md`](../../rules/orchestrator-protocol.md); `Task` subagents are the portable mechanism (the agents that fill lenses 3/6 are in [`agent-fleet.md`](../../references/agent-fleet.md)).
50
51Lens prompt rubrics are embedded inline below — one summary paragraph per lens. Each forked subagent receives its lens's rubric plus the manuscript path.
52
53**Lens prompt summaries:**
54
55- **Lens 1 (Abstract):** Does the first sentence state the question? Does it name the method? Quantify the headline result? State one-sentence contribution? Cross-check: do these four things match the body?
56- **Lens 2 (Intro):** Does the intro open with the question? Hook → context → contribution → roadmap? Lit review placed correctly (after the hook, not before)? Contribution-counted (1, 2, 3…)? Preview of findings with magnitudes?
57- **Lens 3 (Methods):** Is every assumption stated? Are they strong or weak? Is identification one-liner clear? Are known violations (selection, measurement, reverse causality, SUTVA) addressed? Are instruments / RDD / DiD assumptions explicit and defensible?
58- **Lens 4 (Results):** Does each table read standalone (caption, units, SEs clarified)? Is magnitude interpreted (not just significance)? Are units consistent across tables? Are figures legible at 8pt?
59- **Lens 5 (Robustness):** Does the paper ANTICIPATE a sharp referee's objections? Are robustness checks motivated, or just listed? Power/placebo tests present? Heterogeneity explored where promised?
60- **Lens 6 (Prose):** Sentences under 30 words? Active voice dominant? Hedging proportionate (neither overclaiming nor endless "may suggest")? Paragraph topic sentences?
61- **Lens 7 (Citations):** Invoke `/validate-bib --semantic`. For top-10 cited works, does the in-text claim match the cited paper's actual finding direction? Are contemporary / competing works cited?
62
63### Phase 2: Synthesize (reduce → judge, with the hallucination gate)
64
65Wait for all 7 lens reports. **Reduce, don't re-review:** stack the seven `scorecard`s and apply the gate predicate from [`orchestration-schemas.md` §3](../../references/orchestration-schemas.md) — the Executive verdict is a function of the typed findings, not a fresh eighth opinion. Then **run the post-judge hallucination gate** ([§4](../../references/orchestration-schemas.md)): any CRITICAL the synthesis introduces that **no lens raised** must be re-verified in a fresh `claim-verifier` fork, or dropped to `[JUDGE-HALLUCINATED]` and the verdict recomputed. A synthesis may freely downgrade or de-duplicate lens findings; it may not invent a new blocker.
66
67Then produce:
68
69`quality_reports/seven_pass_[stem]/_SYNTHESIS.md`
70
71```markdown
72# Seven-Pass Review: [Manuscript]
73
74**Date:** YYYY-MM-DD
75**Path:** [manuscript]
76
77## Executive verdict
78
79**Overall state:** [SUBMIT / REVISE-MINOR / REVISE-MAJOR / REJECT-AND-RESTART]
80
81## Cross-lens CRITICAL issues
82| # | Lens(es) | Issue | Recommendation |
83|---|---|---|---|
84
85## MAJOR issues (second-round)
86| # | Lens(es) | Issue |
87|---|---|---|
88
89## MINOR polish
90[bulleted]
91
92## Per-lens scorecard
93| Lens | Critical | Major | Minor | Score/10 |
94|---|---|---|---|---|
95| 1. Abstract | | | | |
96| 2. Intro | | | | |
97| 3. Methods | | | | |
98| 4. Results | | | | |
99| 5. Robustness | | | | |
100| 6. Prose | | | | |
101| 7. Citations | | | | |
102| **Overall** | | | | |
103
104## Revision plan (in recommended order)
1051. [Highest-leverage fix — usually a lens with 2+ CRITICALs]
1062. …
1077. [Lowest-leverage polish]
108
109## Contradictions between lenses
110[If two lenses disagree, surface here. E.g., Lens 2 says "expand contribution" but Lens 6 says "trim intro".]
111```
112
113### Phase 3: Token-budget report
114
115After synthesis, print:
116
117```
118Seven-pass review complete.
119Subagents: 7 (parallel) + 1 synthesizer.
120Approx token usage: ~80–120k (vs ~15k for single-pass /review-paper).
121Runtime: ~3–5 min wall-clock.
122For cheaper alternatives:
123 - Single-pass: /review-paper
124 - Iterative: /review-paper --adversarial
125```
126
127## When to use this skill
128
129- **Before first submission** to a top journal.
130- **After a major revision** when you want to catch drift.
131- **R&R when referees disagree** — surfaces contradictions your revision must navigate.
132
133## When NOT to use
134
135- Early drafts (use `/review-paper` single-pass first).
136- Short notes, comments, or replies (overkill).
137- When you've already run this in the last 7 days and nothing substantive changed.
138
139## Cross-references
140
141- `.claude/skills/review-paper/SKILL.md` — the single-pass and `--adversarial` modes (cheaper, faster).
142- `.claude/skills/validate-bib/SKILL.md` — invoked by Lens 7.
143- `.claude/skills/audit-reproducibility/SKILL.md` — complementary; numeric-claims side of the audit.
144- Workflow guide, Pattern 15 — the narrative explanation of why seven lenses.
145
146## Exit behavior
147
148- Exits 0 always (review is informational). The synthesis report's "Executive verdict" is the gate.
149- Any `CRITICAL` at the top of the synthesis should block submission until resolved.
150
151## What this skill does NOT do
152
153- Re-run seven lenses if the manuscript hasn't changed — check git diff against last run date in `_SYNTHESIS.md`, skip unchanged lenses if requested via `--incremental` (future).
154- Auto-apply fixes — that's `/review-paper --adversarial`'s job.
155- Replace human judgment. A reviewer who knows your subfield still beats seven LLMs.