mcpbeat

Seven Pass Review

pedrohcgs/seven-pass-review

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.

2k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
1440
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/pedrohcgs/claude-code-my-workflow --skill seven-pass-review

What it tells the agent to use

found in the instruction text
Task spawns other agents

The instruction itself

13 sections, as written by the author

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.

How to use it

Copy the folder

Take pedrohcgs/seven-pass-review from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.