End-to-end academic manuscript workflow for drafting, revision, reviewer response, figure-text consistency, claim-evidence audits, and pre-submission checks.
How this skill is triggered — by the user, by Claude, or both
Slash command
/academic-writing-skills:academic-writing-skillsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Field-agnostic workflow for rigorous academic paper writing, revision, rebuttal,
references/banned_words.mdreferences/claim_evidence_audit.mdreferences/figure_conventions.mdreferences/journal_format_template.mdreferences/paper_context_packet.mdreferences/reviewer_response_workflow.mdreferences/section_checklists.mdreferences/style_overrides_example.mdreferences/submission_checklist.mdreferences/writing_principles.mdField-agnostic workflow for rigorous academic paper writing, revision, rebuttal, and submission preparation.
The skill is intentionally general. Journal-specific rules, advisor preferences,
paper terminology, evidence maps, and figure inventories belong in each paper
repository under .paper/.
Use this skill for:
Do not use this skill for generic literature workspace management, Zotero CRUD, Obsidian vault setup, NotebookLM source curation, or coding tasks. Those belong to separate research-workspace or coding-agent skills.
Before producing substantive manuscript prose, follow this sequence.
Identify the requested artifact:
.paper/ packet or paper memory update.For small copyediting tasks, use the fast path in Step 3 and avoid asking for unneeded setup.
Use the current working directory unless the user gives another path. Look for:
<paper-repo>/
.paper/
journal_format.md
style_overrides.md
context.md
figure_inventory.md
claim_evidence_ledger.md
reviewer_comments.md
submissions_log.md
If .paper/ does not exist and the task is multi-section, submission-facing, or
reviewer-facing, offer to create a minimal paper context packet using
references/paper_context_packet.md.
Look for <paper-repo>/.paper/journal_format.md.
references/journal_format_template.md to create the file.Format-sensitive tasks include abstract word limits, cover letters, section order, figure-count audits, declarations, reviewer suggestions, and submission preparation.
If <paper-repo>/.paper/style_overrides.md exists, apply it after the universal
rules. It can override banned terms, allowed terms, terminology preferences,
figure conventions, and advisor-specific instructions.
If <paper-repo>/.paper/context.md exists, use it as the preferred compressed
source of paper context before reading the full manuscript.
If <paper-repo>/.paper/claims.yml or <paper-repo>/.paper/figures.yml exist
(produced by the paper-memory-builder skill), prefer them over re-reading the
manuscript when running claim-evidence audits, figure-text consistency checks,
or banned-word audits — the YAML is the authoritative shared memory layer
across writing sessions. Refresh the YAML via paper-memory-builder if the
manuscript has changed since the YAML was last written.
If <paper-repo>/.paper/revision_history.yml exists, read it before answering
"what changed since last submission" / "did I address reviewer N's comment" /
"which figures have been touched in the last 2 rounds". The history is the
audit trail; don't infer it from the current manuscript alone.
Always load:
references/writing_principles.mdreferences/banned_words.mdThese define findings-first structure, mechanism requirements, overclaim language, GPT-style vocabulary, causal-claim checks, and revision discipline.
| Task | Load |
|---|---|
| Drafting or editing a manuscript section | references/section_checklists.md |
| Figure, caption, panel, or number consistency | references/figure_conventions.md |
| Claim support, overclaim, abstract/conclusion audit | references/claim_evidence_audit.md |
| Reviewer response or rebuttal letter | references/reviewer_response_workflow.md |
| Submission or resubmission prep | references/submission_checklist.md |
Creating or refreshing .paper/ memory | references/paper_context_packet.md |
Read only the relevant subsection when possible. The goal is to save context, not load every reference by default.
Use the output structure that fits the task:
.paper/ files that future sessions can load
instead of the full paper.When revising existing text, change only what the task requires. Preserve the author's voice unless the sentence violates a rigor rule.
Before returning prose or an audit result, check:
Does every result state the finding before the figure citation?
Does every finding have a mechanism grounded in data, method, or literature?
Are overclaim verbs and vague intensifiers removed or hedged?
Numeric verifiability: re-grep every numeric token in Abstract, Results,
and Conclusion. Each must trace to a row in .paper/claim_evidence_ledger.md
(or to a figure annotation, table cell, code output, or citation visible
to the reader). Numbers without a ledger row must be removed, hedged, or
have evidence added per the disposition tree in
references/claim_evidence_audit.md. Do not rely on memory across
revisions — numbers drift silently when figures are regenerated or
analyses re-run.
Are figure references panel-specific when panels exist?
Do reviewer responses point to a real manuscript change?
Does journal format override any default rule?
Does the prose use terminology a reviewer in the target field would
recognise, or has CS / engineering / general-AI jargon slipped in from a
method draft or software repository? See references/writing_principles.md
§4.6 and .paper/style_overrides.md "Domain Vocabulary Swaps".
Are any noun-noun (or noun-noun-noun) compounds joined by hyphens
invented for this paper rather than drawn from existing field
vocabulary? Are semicolons and colons in body prose limited to at most
one each per paragraph (citation lists and equation parentheticals
excluded)? See references/writing_principles.md §4.4 and §4.7.
Claim-gap cross-reference: if <paper-repo>/.paper/claims.yml exists,
map every assertive sentence in the produced prose or the audited text
to a claim row, and flag any sentence that maps to a status: gap
claim with [MATERIAL GAP].
claims.yml row schema (produced by the paper-memory-builder
skill): each row has id (C1, C2, ...), text, and status
— one of draft | supported | rejected | gap. A gap row also
carries a one-line gap_reason. status: gap means the memory
layer has recorded the claim as having no backing evidence
artifact. If you have not loaded paper-memory-builder and the
schema is unclear, treat any row whose status is literally
gap as a material gap.status: gap claim. A clean-prose verdict never overrides a
status: gap finding..paper/claims.yml is absent and the task is a claim-evidence
or overclaim audit, say so explicitly and suggest running
paper-memory-builder first.Humanize pass: scan for AI-tell structural patterns per
references/writing_principles.md §5.5 (mechanical rule-of-three,
negative parallelism, uniform sentence rhythm, formulaic signposts,
hedge stacking, repeated paragraph openers). These are structural, not
word choice, so a clean banned-word verdict does not clear them.
Summary-section terminology: every technical term in an Abstract or
Conclusion already appears in Methods or Results per
references/writing_principles.md §4.9. Flag any term, compound, or
near-synonym the body never uses; fix the body's term first, then reuse it.
If any item fails, fix it before showing the user.
Use .paper/ files to reduce repeated token use across sessions. A mature paper
repository should contain:
.paper/
journal_format.md
style_overrides.md
context.md
figure_inventory.md
claim_evidence_ledger.md
reviewer_comments.md
submissions_log.md
context.md, figure_inventory.md, and claim_evidence_ledger.md are the most
important token-saving files. They let future agents understand the paper's
research question, claims, figures, and evidence without rereading the full
manuscript.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub wenyuchiou/ai-research-skills --plugin academic-writing-skills