Multi-agent fiction review system
npx claudepluginhub jdpedrie/criticMulti-agent fiction review system. Runs structured critique with independent reviewers, cross-review, and synthesis.
A Claude Code plugin for multi-agent fiction critique. Runs structured reviews using independent AI reviewers (Claude, Codex, and Gemini), cross-model disagreement, and synthesis into human-readable feedback.
The plugin provides a Go MCP server that exposes review tools, and Claude Code skills that orchestrate them. You interact through cowork — the skills dispatch tools in parallel, run cross-review with session continuity, synthesize results, and save the output to your vault.
Two reviewers see only the chapter text (reader perspective). Two see the full world state and plot (author perspective). Two run on Claude, two on Codex. Diversity is enforced at every level.
review/manuscript-critic-<timestamp>.mdPrior review summaries are automatically loaded so reviewers can assess whether previous issues were addressed.
| Role | Perspective | Model |
|---|---|---|
| Analytical reader | Text-only | Claude |
| Immersive reader | Text-only | Codex |
| Structural analyst | Full context | Claude |
| Adversarial critic | Full context | Codex |
The plugin expects an Obsidian vault with this layout:
vault/
story/
chapter-01.md
chapter-02.md
...
world/ (optional)
*.md (any nesting — characters/, locations/, etc.)
plot/ (optional)
outline.md
arcs/
timeline.md
review/ (created automatically)
system/ (created automatically)
reviewer-memory/
story/ — One markdown file per chapter. Files are sorted alphabetically to determine chapter order. Name them with zero-padded numbers (chapter-01.md, chapter-02.md) or any scheme that sorts correctly.world/ — World-building notes. Any directory structure, any markdown format. No frontmatter required. These are read as plain text and passed to full-context reviewers and the canon extraction tool.plot/ — Plot outlines, arc descriptions, timelines. Same rules as world/. Optional — if missing, full-context reviewers work without it.review/ — Created by the plugin. Reviews are saved as timestamped markdown files.system/ — Created by the plugin for reviewer memory files.No frontmatter is required on any file. The plugin reads all markdown files as plain text.
codex CLI installed and logged in (for Codex reviewer — uses subscription auth)# Build the server
cd critic/server
go build -o ../bin/critic .
# Load the plugin (development)
claude --plugin-dir /path/to/critic
Run /critic:settings to configure the plugin:
/critic:settings vault_path /path/to/vault
/critic:settings gemini_api_key AIza...
/critic:settings claude_model claude-sonnet-4-6
/critic:settings codex_model gpt-5.4-codex
/critic:settings gemini_model gemini-2.5-flash
To disable a provider:
/critic:settings codex_enabled false
To view current settings:
/critic:settings
Settings are stored in the plugin data directory and persist across sessions. API keys can also be provided via environment variables (ANTHROPIC_API_KEY, GEMINI_API_KEY) or the plugin's userConfig if running from the CLI.
Default model and review settings are in config.yaml — the settings skill overrides these.
/critic:review <chapter>Run a multi-agent review on a single chapter.
Dispatches all four reviewers in parallel, runs cross-review, and synthesizes into a readable critique. Runs non-interactively through all steps.
/critic:extract <chapter>Extract ground truth from a chapter and diff against the world state.
Pulls every factual assertion (character states, relationships, locations, timeline events, rules) and classifies each as confirmed, new, or contradictory relative to existing canon.
/critic:downstream <chapter>Assess downstream effects after editing a chapter.
Reads from the edited chapter through the end of the manuscript. Flags continuity breaks, invalidated setups, character state errors, dialogue references to removed content, and timeline issues in all subsequent chapters.
/critic:manuscriptReview the full manuscript at the book level.