Back to Discover

paper-writer

skill

Nugkta

Personal Claude Code plugin for academic paper writing in ML / computational biology. 9 skills + 5 thin agents + 5 commands.

View on GitHub
0 starsSynced Aug 5, 2026

Install to Claude Code

/plugin marketplace add Nugkta/paper-writer

README

Paper Writer Plugin

Personal Claude Code plugin for academic paper writing in ML / computational biology. 9 skills (procedural + reference) + 5 thin agents + 5 commands, designed so the same procedural knowledge can be invoked in main session or in an isolated subagent.

Architecture

  • skills/ holds all procedural knowledge. Skills are reusable: load them in main session OR have an agent load them in isolation.
  • agents/ are thin wrappers (~15 lines each). Each agent declares model, tools, and which skills to load — no procedure embedded.
  • commands/ dispatch a specific agent as a subagent (for cases where you want isolation; the same workflow can run in main session without commands).

Skills

SkillUsed by
repo-scanning-protocolbrainstormer
outline-constructionoutline-architect
peer-review-protocolpeer-reviewer
prose-editing-disciplineprose-polisher
latex-conventionsdraft-writer, prose-polisher
claim-evidence-chainoutline-architect, draft-writer, peer-reviewer
academic-styledraft-writer, prose-polisher
reviewer-rubricpeer-reviewer
figure-design-patternsbrainstormer

Agents

All agents run on opus and have WebSearch + WebFetch.

AgentTools (extra to web)Skills
writing-brainstormerRead, Glob, Grep, Bash, Write, Editrepo-scanning-protocol, figure-design-patterns
outline-architectRead, Writeoutline-construction, claim-evidence-chain
draft-writerRead, Write, Edit, Bashclaim-evidence-chain, academic-style, latex-conventions
peer-reviewerRead, Glob, Greppeer-review-protocol, reviewer-rubric, claim-evidence-chain
prose-polisherRead, Editprose-editing-discipline, academic-style, latex-conventions

Commands

CommandDispatches
/paper-pipeline [slug] [stage]orchestrator — detects current stage from working/ and runs the right agent; pauses at each checkpoint
/brainstorm-paper [slug]writing-brainstormer
/outline-paper [slug]outline-architect
/write-section [slug] [section-id]draft-writer
/review-paper [slug]peer-reviewer
/polish-paper [slug]prose-polisher

You can also invoke any agent directly in main session without a command — the skills load identically.

Suggested Pipeline

The full flow is brainstorm → outline → draft → review → polish. Each stage produces a file in papers/<slug>/working/ that the next stage consumes; the user owns the decisions between stages.

#StageAgentProducesYou decide before this stage
1brainstormwriting-brainstormerfindings.mdrepo path
2outlineoutline-architectoutline.mdthesis, target venue, word budget
3draftdraft-writer (per section, looped)draft-sections/<id>.texsection order; you assemble draft.tex
4reviewpeer-reviewerreview.mdreview depth; optional reviewer-persona focus
5polishprose-polisherpolished.tex + polish-changelog.mdwhich reviewer comments to act on; scope

Two ways to drive it:

  • Step by step — run the per-stage command for each stage (/brainstorm-paper, /outline-paper, …). Most explicit; nothing happens you didn't ask for.
  • Orchestrator — run /paper-pipeline <slug>. It detects which artifacts already exist and starts at the earliest missing stage, or starts at [stage] if you pass one explicitly. After each stage it stops, summarizes, and tells you what's next — it never auto-advances. Re-run later to resume from wherever you left off.

File Conventions

papers/<paper-slug>/
├── .bibsources          # paths to your master .bib files (one per line)
├── refs.bib             # plugin-managed; agents append verified entries here
├── working/
│   ├── findings.md
│   ├── outline.md
│   ├── draft-sections/<id>.tex
│   ├── draft.tex        # you assemble from draft-sections/
│   ├── review.md
│   ├── polished.tex
│   └── polish-changelog.md
└── final/               # camera-ready (you maintain)

Markdown for findings/outline/review; LaTeX for draft and polish onward. Markdown→LaTeX handoff happens at the outline.mddraft-sections/*.tex boundary.

Citation Discipline

Hybrid .bibsources lookup chain:

  1. Look up citation key in master .bib files listed in papers/<slug>/.bibsources → if found, use it.
  2. Else look up in papers/<slug>/refs.bib → if found, use it.
  3. Else search online and verify the entry has a DOI or arXiv ID.
  4. If verified: append to papers/<slug>/refs.bib with key lastname2024firstword. Master .bib files are read-only.
  5. If unverifiable: emit [CITE: <description>] marker and report in chat.

Repo-Write Confirmation Gate

Agents have full write access in principle, but they MUST post a chat message naming the exact file and intended change before any Write/Edit outside papers/<slug>/. Silence is not consent — they wait for an explicit "yes / ok / go ahead".

Customization

The plugin ships voice/forbidden-pattern conventions in skills/academic-style/SKILL.md. Override per-repo by:

  • Adding voice rules to your repo's CLAUDE.md (Claude Code loads it on top of the plugin), OR
  • Editing your installed copy of academic-style/SKILL.md.

The plugin itself has no CLAUDE.md — it's portable across repos, and per-repo voice belongs in your repo, not in the plugin.

Install

git clone <this-repo> ~/.claude/plugins/paper-writer

Design Principles

  1. Skills hold procedure. Agents are thin. Procedure is shareable between main session and subagents.
  2. One responsibility per agent. New responsibility → new skill or new agent, never bolted on.
  3. Files are the message-passing medium. Subagents communicate via papers/<slug>/working/.
  4. The user drives the checkpoints. The /paper-pipeline orchestrator suggests the next stage and dispatches agents, but it never auto-advances past a decision point (thesis, section order, which reviewer comments to act on). The user is still the integration layer; the orchestrator just removes the "which command do I run next" friction.

Known Limitations

  • No multi-persona reviewer (single persona by default).
  • No LaTeX compilation (handle separately via tectonic / Overleaf / latexmk).
  • No automatic figure regeneration; agent will ASK before touching analysis code.
  • No automated assembly from draft-sections/*.tex to draft.tex — you control the assembly order.

Rendered live from Nugkta/paper-writer's GitHub README — not stored, always reflects the source repo.

1 Plugin

NameDescriptionCategorySource
paper-writerPersonal Claude Code plugin for academic paper writing in ML / computational biology. 9 skills + 5 thin agents + 5 commands.https://github.com/Nugkta/paper-writer.git

0 Comments

Login required
Log in to post a comment or update on this repo.

No comments yet — be the first to share an update.