| name | paper-write |
| description | 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. |
| argument-hint | ["venue-or-section"] |
Web-side execution adapter
- This skill is workflow guidance for the ChatGPT web-side connector.
- Loading this SKILL.md is only the setup step; it does not mean the task is complete.
- After loading, continue to execute the workflow, constraints, and output format below before answering.
- Mentions of local automation, local file operations, local command execution, or external integrations are descriptive only. Use capabilities available in the current ChatGPT session, or ask the user for needed files/links.
- For literature search, current facts, factual verification, source tracing, numeric values, material properties, legal/medical/financial/current information, or any evidence-heavy claim: use available search/browsing tools first and cite verifiable sources. Do not answer such tasks only from memory.
- Preserve the original workflow and scope unless the user explicitly asks for changes.
Paper Write: Section-by-Section LaTeX Generation
Draft a LaTeX paper based on: $ARGUMENTS
Constants
- REVIEWER_MODEL =
gpt-5.4 — Model used via local coding-assistant integration 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
- PAPER_PLAN.md — outline with claims-evidence matrix, section plan, figure plan (from paper-plan skill)
- NARRATIVE_REPORT.md — the research narrative (primary source of content)
- Generated figures — PDF/PNG files in
figures/ (from paper-figure skill)
- LaTeX includes —
figures/latex_includes.tex (from paper-figure skill)
- Bibliography — existing
.bib file, or will create one
If no PAPER_PLAN.md exists, ask the user to run paper-plan skill 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.
Templates
Venue-Specific Setup
The skill includes conference templates in templates/. Select based on TARGET_VENUE:
ICLR:
\documentclass{article}
\usepackage{iclr2026_conference,times}
% \iclrfinalcopy % Uncomment for camera-ready
NeurIPS:
\documentclass{article}
\usepackage[preprint]{neurips_2025}
% \usepackage[final]{neurips_2025} % Camera-ready
ICML:
\documentclass[accepted]{icml2025}
% Use [accepted] for camera-ready
IEEE Journal (Transactions, Letters):
\documentclass[journal]{IEEEtran}
\usepackage{cite} % IEEE uses \cite{}, NOT natbib
% Author block uses \author{Name~\IEEEmembership{Member,~IEEE}}
IEEE Conference (ICC, GLOBECOM, INFOCOM, ICASSP, etc.):
\documentclass[conference]{IEEEtran}
\usepackage{cite} % IEEE uses \cite{}, NOT natbib
% Author block uses \IEEEauthorblockN / \IEEEauthorblockA
Project Structure
Generate this file structure:
paper/
├── main.tex # master file (includes sections)
├── iclr2026_conference.sty # or neurips_2025.sty / icml2025.sty / IEEEtran.cls + IEEEtran.bst
├── math_commands.tex # shared math macros
├── references.bib # bibliography (filtered — only cited entries)
├── sections/
│ ├── 0_abstract.tex
│ ├── 1_introduction.tex
│ ├── 2_related_work.tex
│ ├── 3_method.tex # or preliminaries, setup, etc.
│ ├── 4_experiments.tex
│ ├── 5_conclusion.tex
│ └── A_appendix.tex # proof details, extra experiments
└── figures/ # symlink or copy from project figures/
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 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
- Create
paper/ directory
- 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
- Generate
math_commands.tex with paper-specific notation
- Create section files matching PAPER_PLAN structure
Author block (anonymous mode):
\author{Anonymous Authors}
Step 2: Generate math_commands.tex
Create shared math macros based on the paper's notation:
% math_commands.tex — shared notation
\newcommand{\R}{\mathbb{R}}
\newcommand{\E}{\mathbb{E}}
\DeclareMathOperator*{\argmin}{arg\,min}
\DeclareMathOperator*{\argmax}{arg\,max}
% Add paper-specific notation here
Step 3: Write Each Section
Process sections in order. For each section:
- Read the plan — what claims, evidence, citations belong here
- Read NARRATIVE_REPORT.md — extract relevant content, findings, and quantitative results
- Draft content — write complete LaTeX (not placeholders)
- Insert figures/tables — use snippets from
figures/latex_includes.tex
- 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 (be honest — reviewers appreciate this)
- 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 4: Build Bibliography
CRITICAL: Only include entries that are actually cited in the paper.
- Scan all citation references in the drafted sections (
\citep{}/\citet{} for ML conferences, \cite{} for IEEE venues)
- Build a citation key list
- For each citation key:
- Check existing
.bib files in the project/narrative docs
- If not found and DBLP_BIBTEX = true, use the verified fetch chain below
- If not found and DBLP_BIBTEX = false, search arXiv/Scholar for correct BibTeX
- NEVER fabricate BibTeX entries — mark unknown ones with
[VERIFY] comment
- Write
references.bib containing ONLY cited entries (no bloat)
Verified BibTeX Fetch (when DBLP_BIBTEX = true)
Three-step fallback chain — zero install, zero auth, all real BibTeX:
Step A: DBLP (best quality — full venue, pages, editors)
HTTP request example -s "https://dblp.org/search/publ/api?q=TITLE+AUTHOR&format=json&h=3"
HTTP request example -s "https://dblp.org/rec/{key}.bib"
Step B: CrossRef DOI (fallback — works for arXiv preprints)
HTTP request example -sLH "Accept: application/x-bibtex" "https://doi.org/{doi}"
Step C: Mark [VERIFY] (last resort)
If both DBLP and CrossRef return nothing, mark the entry with % [VERIFY] comment. Do NOT fabricate.
Why this matters: LLM-generated BibTeX frequently hallucinates venue names, page numbers, or even co-authors. DBLP and CrossRef return publisher-verified metadata. Upstream skills (research-lit skill, novelty-check skill) may mention papers from LLM memory — this fetch chain is the gate that prevents hallucinated citations from entering the final .bib.
If the DBLP/CrossRef flow is not enough, load ../shared-references/citation-discipline.md for stricter fallback rules before adding placeholders.
Automated bib cleaning — use this Python pattern to extract only cited entries:
import re
This prevents bib bloat (e.g., 948 lines → 215 lines in testing).
Citation verification rules (from claude-scholar + Imbad0202):
- Every BibTeX entry must have: author, title, year, venue/journal
- Prefer published venue versions over arXiv preprints (if published)
- Use consistent key format:
{firstauthor}{year}{keyword} (e.g., ho2020denoising)
- Double-check year and venue for every entry
- Remove duplicate entries (same paper with different keys)
Step 5: Scientific Writing Quality Pass (5 audit passes)
After drafting all sections, run five sequential audit passes. Based on Sainani's "Writing in the Sciences" methodology: every word must earn its place.
Pass 1: Clutter Extraction — Strip sentences to cleanest components.
| Cluttered phrase | Replace with |
|---|
| Due to the fact that | Because |
| In order to | To |
| A number of | Several |
| It is worth noting that | (delete — just state the point) |
| It is important to note that | (delete) |
| At the present time | Now |
| On the basis of | Based on |
| In light of the fact that | Because |
| Have an effect on | Affect |
| Give rise to | Cause |
Also remove redundancies: "completely eliminate" → "eliminate", "future plans" → "plans", "unexpected surprise" → "surprise".
Remove AI-isms: delve, pivotal, landscape, tapestry, underscore, noteworthy, intriguingly.
Pass 2: Active Voice and Verb Vitality — Identify who did what.
- Spot passive: "to-be" verb + past participle ("was observed", "were analyzed")
- Convert: find the actor, reconstruct as Subject–Verb–Object
- Resurrect smothered verbs (nominalizations):
- "We made an investigation" → "We investigated"
- "Failure of the system occurs" → "The system fails"
- "Provides a description of" → "Describes"
Passive voice IS acceptable for: established facts, methods where agent is irrelevant, or when required by venue style.
Pass 3: Sentence Architecture — Structure and flow.
- Flag sentences > 40 words for splitting
- Ensure subject and verb are close together (no long parenthetical insertions between them)
- Put familiar context first, new information later
- Place the most important point near the end of the sentence
- Let each paragraph do one job
- Don't start consecutive sentences with "This" or "We"
- Check paragraph transitions — each paragraph's first sentence should connect to the previous
Pass 4: Keyword Consistency — The Banana Rule.
Do not call a "banana" an "elongated yellow fruit" to avoid repetition. If the Methods say "obese group," the Results must not switch to "heavier group." Synonym variation for technical terms forces the reader to wonder whether a new category has been introduced.
- Extract all key terms from Method section (group names, variable names, technique names, abbreviations)
- Verify exact same terms appear in Results, Discussion, Tables, Figure captions
- Flag every synonym substitution for a defined term
- Acronym austerity: flag non-standard acronyms created only for convenience; verify every acronym is defined at first use
Pass 5: Numerical and Citation Integrity
- Does sample size (N) in Abstract match Table 1?
- Do percentages in Results match raw numbers in Tables?
- Are significant figures consistent and appropriate?
- Do Figure graphics match Table values?
- Flag statistics cited only through secondary sources (reviews, textbooks) — recommend verifying primary source
Step 6: Cross-Review with REVIEWER_MODEL
Send the complete draft to a strong reviewer pass:
local coding assistant integration:
model: gpt-5.4
config: {"model_reasoning_effort": "xhigh"}
prompt: |
Review this [VENUE] paper draft (main body, excluding appendix).
Focus on:
1. Does each claim from the intro have supporting evidence?
2. Is the writing clear, concise, and free of AI-isms?
3. Any logical gaps or unclear explanations?
4. Does it fit within [MAX_PAGES] pages (to end of Conclusion)?
5. Is related work sufficiently comprehensive (≥1 page)?
6. For theory papers: are proof sketches adequate?
7. Are figures/tables clearly described and properly referenced?
8. Would a skim reader understand the contribution from the title, abstract, introduction, and Figure 1?
For each issue, specify: severity (CRITICAL/MAJOR/MINOR), location, and fix.
[paste full draft text]
Apply CRITICAL and MAJOR fixes. Document MINOR issues for the user.
Step 7: Reverse Outline Test (from Research-Paper-Writing-Skills)
After drafting all sections:
- Extract topic sentences — pull the first sentence of every paragraph
- Read them in sequence — they should form a coherent narrative on their own
- Check claim coverage — every claim from the Claims-Evidence Matrix must appear
- Check evidence mapping — every experiment/figure must support a stated claim
- Fix gaps — if a topic sentence doesn't advance the story, rewrite the paragraph
Step 8: Final Checks
Before declaring done:
Key Rules
- Large file handling: If the file output step fails due to file size, immediately retry using local command execution (
cat << 'EOF' > file) to write in chunks. Do not skip user-visible confirmation when the environment requires it.
- Do NOT generate author names, emails, or affiliations — use anonymous block or placeholder
- Write complete sections, not outlines — the output should be compilable LaTeX
- One file per section — modular structure for easy editing
- Every claim must cite evidence — cross-reference the Claims-Evidence Matrix
- Compile-ready — the output should compile with
latexmk without errors (modulo missing figures)
- No over-claiming — use hedging language ("suggests", "indicates") for weak evidence
- Venue style matters — ML conferences (ICLR/NeurIPS/ICML) use
natbib (\citep/\citet); IEEE venues use cite package (\cite{}, numeric). Never mix.
- Page limit rules differ by venue — ML conferences: main body to Conclusion, references/appendix NOT counted. IEEE: references ARE counted toward the page limit.
- Clean bib — references.bib must only contain entries that are actually
\cited
- Section count is flexible — match PAPER_PLAN structure, don't force into 5 sections
- Backup before overwrite — never destroy existing
paper/ directory without backing up
- Front-load the contribution — do not hide the payoff until the experiments or appendix
Writing Quality Reference
../shared-references/writing-principles.md — story framing, abstract/introduction patterns, sentence-level clarity, reviewer reading order
../shared-references/venue-checklists.md — ICLR/NeurIPS/ICML/IEEE submission requirements to check before declaring done
../shared-references/citation-discipline.md — stricter fallback for ambiguous citations
Keep using the reverse-outline test and anti-inflation polish from the main workflow above; the shared references are there to improve quality without adding a new phase.
Acknowledgements
Writing methodology adapted from Research-Paper-Writing-Skills (CCF award-winning methodology). Citation verification from claude-scholar and Imbad0202/academic-research-skills. This hybrid pack's writing-guidance overlay is adapted from Orchestra Research's paper-writing materials.