paper-write
Draft LaTeX paper section by section from an outline. Use when user says "写论文", "write paper", "draft LaTeX", "开始写", or wants to generate LaTeX content from a paper plan.
By wanshuiyin · 436 installs
npx skills add wanshuiyin/auto-claude-code-research-in-sleep --skill paper-write
Source repository · Upstream listing
Paper Write: Section by Section LaTeX Generation
Draft a LaTeX paper based on: $ARGUMENTS
Constants
REVIEWER MODEL = gpt 6 astra — Model used via Codex MCP for section review. Must be an OpenAI model.
TARGET VENUE = ICLR — Default venue. Supported: ICLR , NeurIPS , ICML , CVPR (also ICCV/ECCV), ACL (also EMNLP/NAACL), AAAI , ACM (ACM MM, SIGIR, KDD, CHI, etc.), IEEE JOURNAL (IEEE Transactions / Letters, e.g., T PAMI, JSAC, TWC, TCOM, TSP, TIP), IEEE CONF (IEEE conferences, e.g., ICC, GLOBECOM, INFOCOM, ICASSP). Determines style file and formatting.
ANONYMOUS = true — If true, use anonymous author block. Set false for camera ready. Note: most IEEE venues do NOT use anonymous submission — set false for IEEE.
MAX PAGES = 9 — Main body page limit. For ML conferences: counts from first page to end of Conclusion section, references and appendix NOT counted. For IEEE venues: references ARE counted toward the page limit. Typical limits: IEEE journal = no strict limit (but 12 14 pages typical for Transactions, 4 5 for Letters), IEEE conference = 5 8 pages including references.
DBLP BIBTEX = true — Fetch real BibTeX from DBLP/CrossRef instead of LLM generated entries. Eliminates hallucinated citations. Zero install required. Set false to use legacy behavior (LLM search + [VERIFY] markers).
Inputs
1. PAPER PLAN.md — outline with claims evidence matrix, section plan, figure plan (from /paper plan )
2. NARRATIVE REPORT.md — the research narrative (primary source of content)
3. Generated figures — PDF/PNG files in figures/ (from /paper figure )
4. LaTeX includes — figures/latex includes.tex (from /paper figure )
5. Bibliography — existing .bib file, or will create one
If no PAPER PLAN.md exists, ask the user to run /paper plan first or provide a brief outline.
Orchestra Guided Writing Overlay
Keep the existing insleep workflow, file layout, and defaults. Use the shared references below only when they improve writing quality:
Read ../shared references/writing principles.md before drafting the Abstract, Introduction, Related Work, or when prose feels generic.
Read ../shared references/venue checklists.md during the final write up and submission readiness pass.
Read ../shared references/citation discipline.md only when the built in DBLP/CrossRef workflow is insufficient.
These references are support material, not extra workflow phases.
Optional: Style reference ( — style ref: <source , opt in)
Lets the user steer structural style (section ordering, theorem density, sentence cadence, figure density, bibliography style) toward a reference paper. Default OFF — when the user does not pass — style ref , do nothing differently from before.
Only when — style ref: <source appears in $ARGUMENTS , run the helper FIRST, before drafting:
Sources accepted: local TeX dir / file, local PDF, arXiv id ( 2501.12345 or arxiv:2501.12345 ), http(s) URL. Overleaf URLs and project IDs are rejected — clone via /overleaf sync setup <id first and pass the local clone path.
Strict rules (full contract in tools/extract paper style.py docstring):
Use style profile.md as structural guidance only. Match section count, section ordering tendency, theorem environment density, caption length distribution, sentence cadence, math display ratio, citation style.
Never copy prose, claims, examples, or terminology from anything reachable through the cache. The profile is intentionally aggregate; if you need substance, use the user's own outline.
Never pass — style ref (or the cache contents) to reviewer / auditor sub agents. Cross model review independence ( ../shared references/reviewer independence.md ) requires reviewers see only the artifact and the user's prompt, not the author's stylistic context.
<! DATA NEEDED markers (when GAP REPORT.md exists)
If /paper plan ran with — style ref: it will have emitted GAP REPORT.md alongside PAPER PLAN.md . This file lists structural slots (ablation tables, scaling experiments, failure case analyses, …) the exemplar implies but the user has no evidence to fill .
When GAP REPORT.md is present and a section slot is classified as status: missing :
1. Do not fabricate numerical results, figure references, or qualitative claims to fill that slot.
2. Emit an HTML comment placeholder at the exact location the missing content would go:
3. Slot ID and one line description come straight from GAP REPORT.md . Never invent Slot IDs. Never reword the description to be more confident than the report.
4. The marker is intentionally an HTML comment so it is invisible in the rendered PDF but searchable via grep r "DATA NEEDED" sec/ for human triage / /experiment bridge follow up.
5. For status: partial , write what the user has and emit <! DATA NEEDED: <Slot ID — <what specifically is short at the gap point in the same paragraph (do not split the section).
Carve out from "no placeholder" rule. The default /paper write discipline (no placeholders such as "see supplementary" or "TBD") still applies for everything except GAP REPORT listed missing slots. The marker is the principled way to surface genuine evidence deficits without compromising claim integrity.
Original idea: @zhangpelf in [ 217](https://github.com/wanshuiyin/Auto claude code research in sleep/issues/217).
Templates
Venue Specific Setup
The skill includes conference templates in templates/ . Select based on TARGET VENUE:
ICLR:
NeurIPS:
ICML:
IEEE Journal (Transactions, Letters):
IEEE Conference (ICC, GLOBECOM, INFOCOM, ICASSP, etc.):
Project Structure
Generate this file structure:
Section files are FLEXIBLE : If the paper plan has 6 8 sections, create corresponding files (e.g., 4 theory.tex , 5 experiments.tex , 6 analysis.tex , 7 conclusion.tex ).
Workflow
Step 0: Backup and Clean
If paper/ already exists, back up to paper backup {timestamp}/ before overwriting. Never silently destroy existing work.
CRITICAL: Clean stale files. When changing section structure (e.g., 5 sections → 7 sections), delete section files that are no longer referenced by main.tex . Stale files (e.g., old 5 conclusion.tex left behind when conclusion moved to 7 conclusion.tex ) cause confusion and waste space.
Step 1: Initialize Project
1. Create paper/ directory
2. Copy venue template from templates/ — the template already includes:
All standard packages (amsmath, hyperref, cleveref, booktabs, etc.)
Theorem environments with \crefname{assumption} fix
Anonymous author block
3. Generate math commands.tex with paper specific notation
4. Create section files matching PAPER PLAN structure
Author block (anonymous mode):
Step 2: Generate math commands.tex
Create shared math macros based on the paper's notation:
Step 3: Write Each Section
Process sections in order. For each section:
1. Read the plan — what claims, evidence, citations belong here
2. Read NARRATIVE REPORT.md — extract relevant content, findings, and quantitative results
3. Draft content — write complete LaTeX (no fabricated placeholders). Exception: if GAP REPORT.md exists and the section has slots with status: missing , emit <! DATA NEEDED: <Slot ID — <description at those points instead of inventing data — see the DATA NEEDED markers subsection above.
4. Insert figures/tables — use snippets from figures/latex includes.tex
5. Add citations — for ML conferences (ICLR/NeurIPS/ICML/CVPR/ACL/AAAI): use \citep{} / \citet{} (natbib). For IEEE venues : use \cite{} (numeric style via cite package). Never mix natbib and cite commands.
Before drafting the front matter, re read the one sentence contribution from PAPER PLAN.md . The Abstract and Introduction should make that takeaway obvious before the reader reaches the full method.
Section Specific Guidelines
§0 Abstract:
Use the 5 part flow from ../shared references/writing principles.md : what, why hard, how, evidence, strongest result
Must be self contained (understandable without reading the paper)
Start with the paper's specific contribution, not generic field level background
Include one concrete quantitative result
150 250 words (check venue limit)
No citations, no undefined acronyms
No \begin{abstract} — that's in main.tex
§1 Introduction:
Open with a compelling hook (1 2 sentences, problem motivation)
State the gap clearly ("However, ...")
Give a brief approach overview before the reader gets lost in details
List 2 4 specific, falsifiable contributions as a numbered or bulleted list
Preview the strongest result early instead of saving it for the experiments section
End with a brief roadmap ("The rest of this paper is organized as...")
Include the main result figure if space allows
Target: 1 1.5 pages
Methods should begin by page 2 3 at the latest
§2 Related Work:
MINIMUM 1 full page (3 4 substantive paragraphs). Short related work sections are a common reviewer complaint.
Organize by category using \paragraph{Category Name.}
Organize methodologically, by assumption class, or by research question; do not write paper by paper mini summaries
Each category: 1 paragraph summarizing the line of work + 1 2 sentences positioning this paper
Do NOT just list papers — synthesize and compare
End each paragraph with how this paper relates/differs
§3 Method / Preliminaries / Setup:
Define notation early (reference math commands.tex)
Use \begin{definition} , \begin{theorem} environments for formal statements
For theory papers: include proof sketches of key results in main body, full proofs in appendix
For theory papers: include a comparison table of prior bounds vs. this paper
Include algorithm pseudocode if applicable ( algorithm2e or algorithmic )
Target: 1.5 2 pages
§4 Experiments:
Start with experimental setup (datasets, baselines, metrics, implementation details)
Main results table/figure first
Then ablations and analysis
Every claim from the introduction must have supporting evidence here
For each major experiment, make explicit what claim it supports and what the reader should notice
Target: 2.5 3 pages
§5 Conclusion:
Summarize contributions (NOT copy paste from intro — rephrase)
Limitations (2 4 material, specific limits — dataset scale, compute regime, assumption X; real ones only, never invented to fill a count. This section is the ONLY home for generic caveats)
Future work (1 2 concrete directions)
Ethics statement and reproducibility statement (if venue requires)
Target: 0.5 pages
Appendix:
Proof details (full proofs of main body theorems)
Additional experiments, ablations
Implementation details, hyperparameter tables
Additional visualizations
Step 3.5: Theory Paper Consistency Pass (theory papers only)
Run this pass after drafting all sections and before building the bibliography.
Trigger heuristic: treat the paper as theory heavy if PAPER PLAN.md labels it as theory/analysis, or if the drafted sections contain 5 or more formal result environments ( \begin{theorem} , \begin{lemma} , \begin{proposition} , \begin{corollary} ).
Proof source search: search the workspace for any standalone full proof source file whose name or contents indicate a canonical proof version ( proof , appendix , full , complete , supplement , supplementary ). If such a file exists, prompt the user exactly:
Inline full proofs from {file}? [Y/n]
Default to Y .
If the user accepts:
import the full theorem/lemma statement plus proof block into the appendix source ( A appendix.tex or the appendix file named by the plan)
use the main body theorem statement as the canonical public statement; the appendix copy must match it unless the main body statement is being revised in the same pass
do not leave plac