skills/paper-writing-assistant/SKILL.md
Use when writing or revising actual paper prose — sections, result narratives, venue-aware style, provisional metrics. Not for planning the writing contract before drafting (use paper-writing-contract-planner). Not for tracking section status or edit-state across drafting sessions (use paper-writing-memory-manager).
npx skillsauth add a-green-hand-jack/ml-research-skills paper-writing-assistantInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Write the paper with the author. This skill is for producing and editing paper prose, not for simulating reviewers. It keeps the paper's claims, venue style, evidence, and provisional placeholders aligned while writing sections such as the abstract, introduction, method, experiments, results, limitations, and conclusion.
Use this skill for:
Do not use this skill to review like a hostile reviewer. Use paper-reviewer-simulator for acceptance-risk critique. Use conference-writing-adapter for venue-level restructuring and paragraph blueprints. Use paper-writing-memory-manager before and after nontrivial edits so local prose changes update the global writing state. Use paper-evidence-board when the main task is claim/evidence inventory rather than prose. Use paper-evidence-gap-miner when writing reveals a missing result and existing CSVs may already contain the needed evidence. Use paper-result-asset-builder when raw CSV results need to become paper-facing tables or figures. Use experiment-design-planner only when the gap miner concludes that new compute is required.
<installed-skill-dir>/
├── SKILL.md
└── references/
├── style-selection.md
├── paper-quality-heuristics.md
├── evidence-recipes.md
├── exemplar-index.md
├── exemplars/
│ └── *.md
├── section-patterns/
│ ├── abstract.md
│ ├── introduction.md
│ ├── method.md
│ ├── experiments-results.md
│ ├── related-work.md
│ └── limitations-conclusion.md
└── micro-patterns/
├── paragraph-openings-closings.md
├── result-interpretation.md
├── figure-captions.md
├── table-captions.md
└── transitions-and-positioning.md
Always read references/style-selection.md before substantial drafting or revision.
Read references/paper-quality-heuristics.md when writing or revising title/abstract/introduction/results/conclusion, when a draft feels unfocused, when polishing beyond grammar, or when checking whether prose hides weak evidence, confusing logic, or unfair comparisons.
Read references/evidence-recipes.md when selecting paper structure, interpreting results, deciding whether a claim is supported, or handling missing experiments. Use it to map claims to must-have, should-have, optional, and blocker evidence slots.
Read references/exemplar-index.md when the user asks for writing based on example papers, when venue/topic positioning is important, or when the section needs concrete precedent from successful papers. Then load only one to three relevant files from references/exemplars/.
Then load only the relevant section pattern:
references/section-patterns/abstract.md for abstractsreferences/section-patterns/introduction.md for introductions and contribution listsreferences/section-patterns/method.md for method, theory setup, benchmark design, or system designreferences/section-patterns/experiments-results.md for experiments, results, analysis, and ablationsreferences/section-patterns/related-work.md for related work and novelty boundariesreferences/section-patterns/limitations-conclusion.md for limitations, broader impact, ethics, scope, and conclusionLoad micro-patterns by writing action:
references/micro-patterns/paragraph-openings-closings.md for paragraph starts, paragraph endings, and local flowreferences/micro-patterns/result-interpretation.md for result prose, ablation interpretation, claim-evidence bridges, and provisional result languagereferences/micro-patterns/figure-captions.md for figure captionsreferences/micro-patterns/table-captions.md for table captionsreferences/micro-patterns/transitions-and-positioning.md for section transitions, contribution bullets, related-work positioning, and limitation languageRead local project artifacts as needed:
memory/claim-board.md, memory/evidence-board.md, memory/action-board.md, and paper/.agent/paper-evidence-board.md for project truthpaper/.agent/writing-memory/ for current writing state, section status, dependencies, style decisions, open threads, and edit-impact historypaper/.agent/writing-style.md, paper/.agent/writing-style-lessons.md, paper/.agent/notation-contract.md, and paper/.agent/writing-memory/style-and-terminology.md for writing layers, user preferences, protected invariants, terminology, and notationpaper/.agent/evidence-completion-plan.md, paper/.agent/result-inventory.md, and paper/.agent/result-asset-provenance.md when writing depends on CSV-derived result assetspaper/.agent/provisional-results.md for temporary result placeholderspaper/.agent/paper-status.md for active writing statuspaper/.agent/visual-style.md and figure/table maps when result prose depends on figures or tablesmain.tex, paper.tex, sections/*.tex, figures/, tables/, and appendix filesPair with conference-writing-adapter when target venue style or section structure is uncertain. Pair with paper-writing-memory-manager whenever a prose edit changes a claim, result interpretation, section status, caption, terminology, writing layer, style lesson, or open writing thread. Pair with paper-evidence-board when writing exposes claim/evidence drift. Pair with paper-evidence-gap-miner before asking for new experiments, because existing CSV results may already support the claim. Pair with paper-result-asset-builder when result prose needs a paper-facing table or figure generated from CSVs.
Identify:
layout, surface-fluency, argument, technical-consistency, style-consistency, venue-adaptation, or final-polishIf the user asks to "help write" without more detail, default to:
Before writing substantial prose, extract:
## Writing Snapshot
- Target venue:
- Paper positioning:
- Active section:
- Main claim:
- Secondary claims:
- Required evidence:
- Available evidence:
- Missing evidence:
- Evidence recipe loaded:
- Paper quality heuristics loaded:
- Evidence slot status:
- Tone/style target:
- Active writing layer:
- Protected invariants:
- Exemplars loaded:
- Section pattern loaded:
- Micro-patterns loaded:
- Provisional placeholders allowed: yes/no
Use claim IDs such as CLM-001 when available. If the project lacks IDs, assign local CLM-TMP-001 IDs and recommend syncing them to paper-evidence-board or project memory.
Read references/style-selection.md, then choose:
Use this routing:
venue + topic + positioning + section + paragraph job + evidence type
-> section pattern + micro-patterns
Examples:
NeurIPS + method + introduction + gap paragraph + claim framing -> section-patterns/introduction.md + micro-patterns/paragraph-openings-closings.mdCVPR + benchmark + figure caption + visual evidence -> micro-patterns/figure-captions.mdACL + empirical study + result paragraph + table evidence -> section-patterns/experiments-results.md + micro-patterns/table-captions.md + micro-patterns/result-interpretation.mdICLR + method + ablation interpretation + mechanism claim -> section-patterns/experiments-results.md + micro-patterns/result-interpretation.mdIf writing a broad section, load the section pattern first and add micro-patterns only for paragraphs, captions, transitions, or bullets that need concrete guidance. If writing only a caption, transition, or paragraph opening, load the relevant micro-pattern without loading a whole section file.
When exemplars are loaded, use them only for:
Do not copy exemplar wording. Do not let a famous exemplar override the user's actual claim or evidence.
Use references/evidence-recipes.md to map the active claim to evidence slots before writing final-sounding prose.
For each major claim, classify:
- Claim:
- Archetype:
- Required evidence slot:
- Current status: filled / user-stated / planned / running / provisional / missing / contradicted / not-needed
- Paper location:
- Writing consequence:
Rules:
filled evidence can be written as observed evidence.user-stated evidence can be drafted, but mark source verification if the artifact has not been checked.planned, running, or missing evidence requires provisional language, an action, or a narrowed claim.contradicted evidence requires result diagnosis, claim narrowing, or a different paper positioning.Apply the selected patterns to the user's paper rather than copying template wording. For each paragraph, caption, or bullet, keep a hidden working contract:
For paragraphs:
- Active layer:
- Paragraph job:
- Claim supported:
- Evidence used:
- Reader question answered:
- Risk if overclaimed:
- Protected invariants:
The final prose should not include this contract unless the user asks for an outline. Use it to keep writing disciplined.
Apply the paper-quality gates from references/paper-quality-heuristics.md: check that transitions encode real logic, strong claims are defensible, concepts are explained near first use, and each paragraph carries enough useful information for its location in the paper.
For figure captions:
- Figure job:
- Claim supported:
- Setup/protocol:
- Visual encoding:
- Takeaway:
- Caveat:
For table captions:
- Table job:
- Claim supported:
- Comparison question:
- Protocol/metrics:
- Formatting rule:
- Main takeaway:
- Scope caveat:
Result interpretation should follow this pattern:
Avoid empty claims such as "significantly improves performance" without saying where, against what, and why it matters.
Layer permissions:
layout: shorten or reshape locally for page fit, but preserve claim strength, notation, and evidence interpretation.surface-fluency: improve grammar and flow without changing paragraph job or claim scope.argument: may reorder or reframe claims, but must check the evidence board and writing contract.technical-consistency: may standardize names, notation, metrics, and labels, then mark dependent locations stale.style-consistency: may align tone, rhythm, and claim-strength habits with writing-style.md.venue-adaptation: may adjust emphasis for venue expectations, but positioning changes need the writing contract.final-polish: only after structure is stable; avoid new claims, terminology, or evidence dependencies.When writing exposes a missing result:
paper/.agent/provisional-results.mdUse this marker format in paper text:
\textbf{[PROVISIONAL-RESULT PR-001: replace with verified result for CLM-001]}
If the venue or project style dislikes visible bold placeholders, use a LaTeX comment plus bracketed prose:
% PROVISIONAL-RESULT PR-001: replace with verified result for CLM-001
[PR-001: pending main result on DATASET against BASELINE]
Never insert an unmarked provisional number into final-looking prose. If the user explicitly asks for a temporary numeric target, mark it as a target or placeholder, not observed evidence. If the missing evidence is a blocker slot for the paper archetype, either narrow the claim or record an action that must be resolved before submission.
If provisional placeholders exist, create or update:
paper/.agent/provisional-results.md
Use this format:
# Provisional Results
## Open Placeholders
### PR-001
- Status: open
- Claim: CLM-001
- Paper location:
- Draft text:
- Placeholder value:
- Evidence recipe slot:
- Why this value supports the claim:
- Required real experiment:
- Expected source artifact:
- Owner:
- Created:
- Replacement rule:
## Resolved Placeholders
### PR-000
- Status: resolved
- Claim:
- Paper location:
- Final value:
- Source artifact:
- Resolved:
- Notes:
Replacement rule examples:
code/docs/results/...When real results arrive:
PROVISIONAL-RESULT and PR-### markerpaper-evidence-board when presentresult-diagnosis or narrow the claim rather than forcing supportive languageBefore submission, there must be no open PROVISIONAL-RESULT markers in paper source.
For LaTeX projects:
sections/*.tex fileWhen giving prose in chat instead of editing files, still list any provisional placeholders and the ledger entries that should be created.
Before finalizing:
PR-### marker and a ledger entrytesting
Bootstrap project-local ml-research-skills. Use from global installs when creating a new ML research project, enabling this collection in an existing ML research repo, or deciding whether to install the full bundle locally. Route to project-init for new projects; do not handle paper or experiment work directly.
development
Route project operations tasks — git, memory, bootstrap, remote, workspace, code review, timeline, ops — to the correct skill. Use when the task involves commits, pushes, worktrees, project memory, enabling project-local skills, SSH/server coordination, sidecar runners, or audits. Do not solve the ops task directly.
testing
Route ML/AI paper writing tasks to the correct skill — contract planning, prose drafting, section writing, consistency editing, review simulation, rebuttal, submission, or citation work. Use when the task involves writing, revising, reviewing, or submitting a paper instead of guessing between paper-writing-assistant, paper-writing-contract-planner, paper-reviewer-simulator, auto-paper-improvement-loop, or citation skills. Do not draft prose directly.
data-ai
Project-local router for ML research skill selection. Use inside an initialized ML research project, or while maintaining this skill repo, when the user describes an ML research/paper/experiment/discovery/ops/release workflow and may not know the skill; route to a domain router or high-signal leaf. Do not use for generic non-ML projects.