By FabianRitter
Nine-agent orchestrator for fast academic paper writing in Fabian's voice. Auto-triggers on .tex / paper drafts; runs scoped review, drafting, polishing, results-figure (matplotlib) and method-diagram (drawio XML) passes; grounds every factual claim through a closed-set facts ledger, a deterministic gate, and a scoped fact-verifier; persists plans across sessions for billing-window resumption.
Creates and revises drawio (.drawio / mxfile XML) diagrams for method, architecture, pipeline, and workflow figures. Every paper has at least one of these — the main method-explanation figure. Output is editable XML so the user can fine-tune in draw.io desktop. Renders headlessly to PNG/PDF via the installed draw.io CLI when available; otherwise leaves rendering to the user. Triggers when the user asks to create/revise a method diagram, pipeline, architecture, or workflow figure. Strict anti-hallucination policy — only places concrete elements (real layer names, real model names, real arrow connections) that come from the orchestrator's brief or an evidence card.
Verifies that each factual claim in a drafted section is entailed by a real source. Scoped input only — receives the claim plus a candidate source extract, never the full draft or the drafter's reasoning. Must quote a verbatim supporting span or the claim is UNSUPPORTED. Does not edit.
Creates and revises Python-based result figures (matplotlib / seaborn) for the paper. Triggers when the user asks to create, revise, redraw, or improve a figure. Strict anti-hallucination policy — if the underlying data (CSV / JSON / npy / NumPy array file) or a prior figure-generation script is not on disk, the agent halts and requests it instead of inventing numbers. Produces a reproducible script, a vector output (PDF preferred, SVG fallback), an inclusion LaTeX snippet, and a render-and-audit log.
Audits a compiled PDF for figure and table layout issues — float placement, subfigure alignment, page sharing, sizing, caption alignment. Read-only and mechanical.
Applies prose fixes (clarity, conciseness, voice match) to existing text using the academic-writing voice profile. Edits files. Receives flagged issues from reviewers and addresses them — does not rewrite blindly.
Reference skill that codifies the prose standards enforced across every stage of the Supervisor-Agent workflow (abstract, list-of-questions phrasing, point-form phrasing, full chapter draft). Load whenever the user asks to write, revise, or tighten academic text for a thesis chapter, conference paper, or journal manuscript. Trigger on phrases like 'write a section', 'revise this paragraph', 'tighten the writing', 'make it less verbose', 'check my introduction', 'rewrite for the thesis', 'academic writing', 'paper draft', 'thesis draft', 'revise stage 6', or when the user provides LaTeX source and asks for improvements. Also auto-loaded as a dependency by the supervisor-feedback, list-of-questions, and point-form-answers skills whenever they need to cite a prose rule. OVERRIDES any default tendency toward verbose, hedging, or decorative prose.
Paper-writing orchestrator tuned to Fabian's voice. TRIGGER when: user is editing .tex paper drafts, reviewing or revising a conference / journal paper, drafting paper sections, polishing prose, auditing bibliography for a paper. Deploys nine specialist agents (supervisor-feedback, structure-reviewer, technical-reviewer, fact-verifier, latex-layout-auditor, prose-polisher, section-drafter, figure-specialist, diagram-specialist) and persists plan + findings to disk so work survives the Opus 5-hour billing window. Does NOT trigger on thesis-only work — use the dedicated thesis repository for that.
Use this skill to simulate PhD supervisor feedback on a thesis abstract, chapter draft, paper draft, or LaTeX section (thesis-writing stages 1 and 6 in this repo's CLAUDE.md routing). Trigger when the user says 'review this as my supervisor', 'give me supervisor feedback', 'what would my supervisor say', 'spot issues in this chapter', 'review my abstract', 'check this section for problems', 'pretend to be my supervisor', 'revise stage 1', 'revise stage 6', or when the user submits a draft of continuous prose and asks for critical review. Do NOT trigger on a writing-plan / list-of-questions document (use list-of-questions skill) or a point-form answers document (use point-form-answers skill). This skill models the review style of Prof. Chng Eng Siong (engineering PhD supervisor, NTU) who values concise writing, correct notation, and properly supported claims.
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A Claude Code plugin that ships nine specialist agents for academic paper writing — tuned to Fabian's voice and Prof. Chng Eng Siong's supervisor feedback style.
For thesis-length work, use the separate thesis-writing repository.
Nine agents: supervisor-feedback, structure-reviewer, technical-reviewer, fact-verifier, latex-layout-auditor, prose-polisher, section-drafter, figure-specialist, diagram-specialist. The orchestrator decides which to deploy and executes — it does not run a Q&A loop with the user. Every reviewer report is written to disk so a fresh Claude Code session can resume after the Opus 5-hour billing window resets.
skills/academic-writing/SKILL.md
before writing. The skill encodes Fabian's natural register from real
thesis revision history.supervisor-feedback agent simulates Prof. Chng's review style using
dated verbatim quotes in
skills/supervisor-feedback/grounded-examples.md.
This replaces the generic writing-reviewer from upstream.scripts/fact-gate.py) rejects unknown \cite keys and dangling
evidence tokens; a scoped fact-verifier checks each grounded claim
against the real source — never against the draft that produced it.
Verification is targeted at flagged claims, not a blanket self-critique
(which measurably degrades correct prose)..paper-writing/session.md and .review/*.md. No external tooling
needed.| Agent | Model | Thinking | Role |
|---|---|---|---|
supervisor-feedback | Opus 4.6 | max | Chng-style critical review with verbatim shorthand |
structure-reviewer | Opus 4.6 | high | Narrative flow, terminology, cross-refs, figure-text-caption, GPS |
technical-reviewer | Opus 4.6 | max | Math, methodology, results, citations, bibliography hygiene |
fact-verifier | Opus 4.6 | xhigh | Claim-by-claim grounding against a real source; scoped packets only, never the full draft |
latex-layout-auditor | Sonnet 4.6 | low | Compiled PDF float placement, subfigure alignment |
prose-polisher | Opus 4.8 | max | Applies voice-aware edits to flagged issues |
section-drafter | Opus 4.8 | max | Drafts new LaTeX sections, transitions, captions, abstracts, uses /academic-writing |
figure-specialist | Opus 4.8 | high | Creates/revises Python (matplotlib) result figures; halts and requests data instead of inventing numbers when sources are missing |
diagram-specialist | Opus 4.8 | high | Creates/revises drawio XML method/pipeline/architecture diagrams; output is editable in draw.io desktop |
paper-writing-agents/
├── .claude-plugin/
│ ├── plugin.json
│ └── marketplace.json
├── agents/
│ ├── supervisor-feedback.md
│ ├── structure-reviewer.md
│ ├── technical-reviewer.md
│ ├── fact-verifier.md
│ ├── latex-layout-auditor.md
│ ├── prose-polisher.md
│ ├── section-drafter.md
│ ├── figure-specialist.md
│ └── diagram-specialist.md
├── scripts/
│ └── fact-gate.py # deterministic closed-set / token gate
├── principles/
│ └── academic-writing.md # 30 principles (A1–F2)
├── skills/
│ ├── SOURCE.md
│ ├── academic/ # Orchestrator skill (/academic)
│ ├── academic-writing/ # Fabian's voice rules (from Supervisor-Agent)
│ └── supervisor-feedback/ # Chng-style review skill
├── LICENSE
└── README.md
The orchestrator activates without an explicit slash command when Claude detects paper-writing context:
.tex file under a paper directoryIf the project looks like a thesis (e.g. thesis.tex,
\documentclass{thesis}, Chapter files), the orchestrator defers to the
thesis repository instead.
npx claudepluginhub fabianritter/paper-writing-agents --plugin paper-writing-agentsIntelligent draw.io diagramming plugin with AI-powered diagram generation, multi-platform embedding (GitHub, Confluence, Azure DevOps, Notion, Teams, Harness), conditional formatting, live data binding, and MCP server integration for programmatic diagram creation and management.
Complete creative writing suite with 10 specialized agents covering the full writing process: research gathering, character development, story architecture, world-building, dialogue coaching, editing/review, outlining, content strategy, believability auditing, and prose style/voice analysis. Includes genre-specific guides, templates, and quality checklists.
TypeScript/JavaScript full-stack development with NestJS, React, and React Native
Complete AI coding workflow system. Self-correcting memory + persistent FTS5-indexed research wikis + auto-research loop + multi-LLM council on a single SQLite store. 33 skills, 8 agents, 22 commands, 37 hook scripts across 24 events. Cross-agent via SkillKit.
Open-source, local-first Claude Code plugin for token reduction, context compression, and cost optimization using hybrid RAG retrieval (BM25 + vector search), reranking, AST-aware chunking, and compact context packets.