paper-writing-assistant
Paper Writing Assistant
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:
- drafting or rewriting paper sections
- turning experiment results into claim-supporting result prose
- adapting tone, structure, and paragraph flow to a target venue and paper positioning
- writing figure captions, table captions, paragraph openings, paragraph closings, contribution bullets, transitions, and limitation language
- keeping claims visible while editing individual sections
- making layer-specific edits for layout, fluency, argument, technical consistency, style consistency, venue adaptation, or final polish
- inserting clearly marked provisional results when experiments are not finished
- replacing provisional placeholders with verified results later
- maintaining a writing ledger of open placeholders, stale result prose, and claim wording decisions
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.
Core Principles
- Write as the author, not as a reviewer. The output should be usable paper prose or a concrete edit plan.
- Preserve the paper's scientific claim. Improve clarity, emphasis, and interpretation without silently changing what the paper asserts.
- Declare the active writing layer before nontrivial edits. Layout, fluency, argument, technical consistency, style consistency, venue adaptation, and final polish have different permissions.
- Interpret results toward claims. Result prose should explain why the evidence supports, narrows, or complicates the claim.
- Keep evidence status explicit. Verified results, user-stated results, inferred interpretation, and provisional placeholders must not be mixed.
- Temporary results are allowed only as marked writing scaffolds. They must be searchable in the source and tracked in a ledger before final submission.
- If a needed experiment is missing, write the best current section while creating a placeholder and an action, instead of stopping all writing.
- Prefer local draft files, project memory, and evidence artifacts over memory. Do not invent final numbers.
- Use reference-backed writing patterns for concrete prose moves. Do not imitate or store long passages from exemplar papers.
Skill Directory Layout
<installed-skill-dir>/
├── SKILL.md
└── references/
├── style-selection.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
Progressive Loading
Always read references/style-selection.md before substantial drafting or revision.
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.mdfor abstractsreferences/section-patterns/introduction.mdfor introductions and contribution listsreferences/section-patterns/method.mdfor method, theory setup, benchmark design, or system designreferences/section-patterns/experiments-results.mdfor experiments, results, analysis, and ablationsreferences/section-patterns/related-work.mdfor related work and novelty boundariesreferences/section-patterns/limitations-conclusion.mdfor limitations, broader impact, ethics, scope, and conclusion
Load micro-patterns by writing action:
references/micro-patterns/paragraph-openings-closings.mdfor paragraph starts, paragraph endings, and local flowreferences/micro-patterns/result-interpretation.mdfor result prose, ablation interpretation, claim-evidence bridges, and provisional result languagereferences/micro-patterns/figure-captions.mdfor figure captionsreferences/micro-patterns/table-captions.mdfor table captionsreferences/micro-patterns/transitions-and-positioning.mdfor section transitions, contribution bullets, related-work positioning, and limitation language
Read local project artifacts as needed:
memory/claim-board.md,memory/evidence-board.md,memory/action-board.md, andpaper/.agent/paper-evidence-board.mdfor 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, andpaper/.agent/writing-memory/style-and-terminology.mdfor writing layers, user preferences, protected invariants, terminology, and notationpaper/.agent/evidence-completion-plan.md,paper/.agent/result-inventory.md, andpaper/.agent/result-asset-provenance.mdwhen writing depends on CSV-derived result assetspaper/.agent/provisional-results.mdfor temporary result placeholderspaper/.agent/paper-status.mdfor active writing statuspaper/.agent/visual-style.mdand figure/table maps when result prose depends on figures or tables- target paper files such as
main.tex,paper.tex,sections/*.tex,figures/,tables/, and appendix files
Pair 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.
Step 1 - Define the Writing Task
Identify:
- target venue and year, if known
- paper positioning or archetype: method, benchmark, empirical study, theory, systems, analysis, application, or hybrid
- topic area and closest exemplar family, if known
- target section and desired mode: draft, rewrite, revise, compress, expand, polish, or fill placeholders
- available source: outline, notes, TeX files, result tables, figures, logs, or memory boards
- whether temporary placeholders are allowed in this pass
- micro-writing target, if any: paragraph opening, paragraph closing, caption, transition, result interpretation, contribution bullet, limitation, or related-work positioning
- active writing layer, if known:
layout,surface-fluency,argument,technical-consistency,style-consistency,venue-adaptation, orfinal-polish
If the user asks to "help write" without more detail, default to:
- read the current abstract, introduction, and claim/evidence memory if present
- produce a paper snapshot
- propose the next section to write or revise
- write a concrete section draft when enough context exists
Step 2 - Build the Writing Snapshot
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:
- 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.
Step 3 - Select Writing Patterns
Read references/style-selection.md, then choose:
- one venue/topic/positioning style profile
- one evidence recipe for the primary paper archetype
- zero to three exemplar cards when concrete precedent is useful
- one section pattern file for the active section
- one to three micro-pattern files for the exact prose action
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.md
If 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:
- section move order
- paragraph job sequence
- caption and result-prose strategy
- evidence placement
- tone and scope discipline
Do not copy exemplar wording. Do not let a famous exemplar override the user's actual claim or evidence.
Step 4 - Map Evidence Slots
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:
filledevidence can be written as observed evidence.user-statedevidence can be drafted, but mark source verification if the artifact has not been checked.planned,running, ormissingevidence requires provisional language, an action, or a narrowed claim.contradictedevidence requires result diagnosis, claim narrowing, or a different paper positioning.- Missing blocker slots from the evidence recipe should prevent strong final claims.
Step 5 - Write Claim-Aware Prose
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.
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:
- state the comparison or observation
- name the measured setting
- state what changed relative to the relevant baseline or control
- explain how this supports the claim
- state the boundary condition or limitation if needed
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 withwriting-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.
Step 6 - Handle Missing Experiments While Writing
When writing exposes a missing result:
- decide whether the prose can be drafted with a provisional placeholder
- insert a searchable marker in the paper source
- create or update
paper/.agent/provisional-results.md - create a follow-up action in project memory when present
- mention the placeholder in the response summary
- link the placeholder to the evidence recipe slot it is meant to fill
Use 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.
Step 7 - Maintain the Provisional Result Ledger
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:
- replace placeholder with verified metric from
code/docs/results/... - weaken claim if improvement is below baseline on any primary dataset
- remove paragraph if the ablation does not isolate the mechanism
Step 8 - Replace Provisional Results
When real results arrive:
- find every
PROVISIONAL-RESULTandPR-###marker - update the prose, tables, captions, and abstract/intro claims if the result changes the story
- move the ledger entry from open to resolved
- mark stale prose or figures in
paper-evidence-boardwhen present - if the real result contradicts the claim, route to
result-diagnosisor narrow the claim rather than forcing supportive language
Before submission, there must be no open PROVISIONAL-RESULT markers in paper source.
Step 9 - Edit Files
For LaTeX projects:
- edit the smallest relevant
sections/*.texfile - preserve labels, citations, macros, and line endings
- do not reorganize the source tree unless asked
- use LaTeX comments for traceability when temporary placeholders are present
- keep prose changes local to the requested section unless claim consistency requires synchronized edits
When giving prose in chat instead of editing files, still list any provisional placeholders and the ledger entries that should be created.
Final Sanity Check
Before finalizing:
- the written prose matches the target venue and paper positioning
- every major assertion supports or preserves a named claim
- major claims satisfy the must-have evidence slots for the selected paper archetype, or are explicitly narrowed
- result interpretation says how the evidence supports the claim
- captions state the claim, setup, visual/table encoding, and takeaway when applicable
- paragraph openings and closings serve the section's argument rather than generic flow
- unverified facts are marked as provisional, user-stated, or needs-verification
- every provisional result has a
PR-###marker and a ledger entry - no provisional text is disguised as final observed evidence
- missing experiments have follow-up actions when project memory exists
- nontrivial edits stay within the declared writing layer or are reclassified and written back to memory
More from a-green-hand-jack/ml-research-skills
project-init
Initialize an ML research project control root. Use for paper/code/slides repos, shared memory, GitHub Project alignment, agent guidance, worktree policy, and lifecycle handoffs.
37project-sync
Sync verified code-side experiment results into paper memory. Use when logs, reports, run docs, or user-confirmed metrics should become paper-facing evidence.
36add-git-tag
Create annotated Git milestone tags. Use when completing a phase, releasing a version, or marking a research checkpoint.
36update-docs
Refresh project documentation after code changes. Use after implementing features, changing behavior, or preparing a milestone commit.
36init-latex-project
Initialize a LaTeX academic paper project. Use for new conference or journal papers needing templates, macros, venue preambles, and writing guidance.
36new-workspace
Create Git branches or worktrees for research code and paper versions. Use for experiments, baselines, rebuttal fixes, arXiv/camera-ready branches, and worktree memory.
36