Override for Codex users who want Gemini, not a second Codex agent, to act as the reviewer. Install this package after skills/skills-codex/*.
Paper Write: Section-by-Section LaTeX Generation
Gemini overlay assurance: review_independence: cross-family and acceptance_status: accepted.
Draft a LaTeX paper based on: $ARGUMENTS
Constants
- REVIEWER_MODEL =
gemini-review — Gemini reviewer invoked through the local gemini-review MCP bridge. Set GEMINI_REVIEW_MODEL if you need a specific Gemini model override.
- TARGET_VENUE =
ICLR — Default venue. Supported: ICLR, NeurIPS, ICML. Determines style file and formatting.
- ANONYMOUS = true — If true, use anonymous author block. Set
false for camera-ready.
- MAX_PAGES = 9 — Main body page limit. Counts from first page to end of Conclusion section. References and appendix are NOT counted.
- 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)
- NARRATIVE_REPORT.md — the research narrative (primary source of content)
- Generated figures — PDF/PNG files in
figures/ (from /paper-figure)
- LaTeX includes —
figures/latex_includes.tex (from /paper-figure)
- 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.
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
Project Structure
Generate this file structure:
paper/
├── main.tex # master file (includes sections)
├── iclr2026_conference.sty # or neurips_2025.sty / icml2025.sty
├── 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 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
- 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 — use
\citep{} / \citet{} (all three venues use natbib)
Section-Specific Guidelines
§0 Abstract:
- Must be self-contained (understandable without reading the paper)
- Structure: problem → approach → key result → implication
- 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, ...")
- List contributions as a numbered or bulleted list
- End with a brief roadmap ("The rest of this paper is organized as...")
- Include the main result figure if space allows
- Target: 1.5 pages
§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.}
- 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
- 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 4: Build Bibliography
CRITICAL: Only include entries that are actually cited in the paper.
- Scan all
\citep{} and \citet{} references in the drafted sections
- 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)
# 1. Search by title + first author
curl -s "https://dblp.org/search/publ/api?q=TITLE+AUTHOR&format=json&h=3"
# 2. Extract DBLP key from result (e.g., conf/nips/VaswaniSPUJGKP17)
# 3. Fetch real BibTeX
curl -s "https://dblp.org/rec/{key}.bib"
Step B: CrossRef DOI (fallback — works for arXiv preprints)
# If paper has a DOI or arXiv ID (arXiv DOI = 10.48550/arXiv.{id})
curl -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, /novelty-check) may mention papers from LLM memory — this fetch chain is the gate that prevents hallucinated citations from entering the final .bib.
Automated bib cleaning — use this Python pattern to extract only cited entries:
import re
# 1. Grep all \citep{...} and \citet{...} from all .tex files
# 2. Extract unique keys (handle multi-cite like \citep{a,b,c})
# 3. Parse the full .bib file, keep only entries whose key is in the cited set
# 4. Write the filtered bib
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: De-AI Polish (from kgraph57/paper-writer-skill)
After drafting all sections, scan for common AI writing patterns and fix them:
Content patterns to fix:
- Significance inflation ("groundbreaking", "revolutionary" → use measured language)
- Formulaic transitions ("In this section, we..." → remove or vary)
- Generic conclusions ("This work opens exciting new avenues" → be specific)
Language patterns to fix (watch words):
- Replace: delve, pivotal, landscape, tapestry, underscore, noteworthy, intriguingly
- Remove filler: "It is worth noting that", "Importantly,", "Notably,"
- Avoid rule-of-three lists ("X, Y, and Z" appearing repeatedly)
- Don't start consecutive sentences with "This" or "We"
Step 6: Cross-Review with REVIEWER_MODEL
Send the complete draft to Gemini review:
mcp__gemini-review__review_start:
prompt: |
Review this [VENUE] paper draft (main body, excluding appendix).
Judge claim calibration in BOTH directions. Recommend narrowing only when the
current scope or modality exceeds the evidence; do not ask for extra hedges
around a supported result. Flag stacked hedges, self-defence ("we do not
claim"), instruction confessions ("we do not address X"), and generic caveats
outside Limitations as writing defects to remove. Tone fixes must never alter
facts, negation, modality, scope, comparison direction, or numbers.
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?
For each issue, specify: severity (CRITICAL/MAJOR/MINOR), location, and fix.
[paste full draft text]
After this start call, immediately save the returned jobId and poll mcp__gemini-review__review_status with a bounded waitSeconds until done=true. Treat the completed status payload's response as the reviewer output, and save the completed threadId for any follow-up round.
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:
Output Protocols
Follow these shared protocols for all output files:
Key Rules
=== CONFIDENT PROSE, HONEST LIMITS (never upgrades claims) ===
- Calibrate each claim to the evidence's actual scope and modality, then state
that calibrated claim directly. Necessary assumptions, uncertainty, and
scope are part of the claim; stacked hedges and defensive throat-clearing
are not.
- If the current claim is unsupported, narrow it to a version the evidence
supports or cut it. Do not substitute a softer-sounding synonym for fixing
scope, modality, comparison, or aggregation.
- Put generic caveats and broader boundary discussion in one Limitations
section. Outside it, remove generic disclaimers such as "further research
is needed", "may not generalize", and "should be interpreted with caution".
Claim-defining scope, assumptions, and statistical qualifications stay
attached to the claims they make true.
- Aim for 2-4 material, specific limitations (dataset scale, compute regime,
assumption X). Real ones only — never invent one to meet a count, never
apologize generically, never repeat the same limitation through the paper.
- Writing instructions are not manuscript content. "Do not mention X" means
omit X, not write "we do not address/claim/discuss X". Never expose
drafting instructions, requested omissions, reviewer feedback, or revision
history in manuscript prose.
- Replace self-defence ("we do not claim", "our goal is merely") with a
positive, evidence-matched statement of what the paper does establish. If
the defensive sentence carries a real boundary, keep that boundary in the
claim or Limitations; do not delete truth-conditional content.
- Tone-only edits never alter facts, negation, modality, scope, assumptions,
comparison direction, aggregation, numbers, formulas, or citations. Genuine
overclaims must still be narrowed; supported claims wrapped in redundant
caution must be stated directly.
- One causal spine: gap -> question -> insight -> consequence -> evidence ->
implication. Every section advances it. Make the method feel inevitable:
the gap creates a concrete question, the key insight answers it, the method
follows from the insight, each major experiment tests a consequence of it,
and the conclusion states exactly what the evidence establishes.
Front-load the contribution; never narrate the drafting or revision process.
- The paper is a launch, not a progress report. Organize the narrative
around the work's strongest genuine advantage — a new capability, problem,
mechanism or viewpoint, wider applicability, lower cost, a better tradeoff.
Material that does not form an advantage stays out of the main line. If the
results cannot carry the original story, rebuild the story around the
strongest evidence instead of defending the original one.
- Pick the contest the paper wins. Do not build the narrative on a metric
where the method is not ahead; frame the comparison around the task
definition, evaluation dimension or constraint that reflects what the
method is for, and say explicitly which contest it wins. Unfavorable
numbers still appear — tables stay complete. Where the evidence supports
it, explain them as a goal difference or a deliberate tradeoff rather
than narrating a defeat ("underperforms", "fails to surpass"); where it
does not, state the underperformance neutrally, narrow the claim, and
keep it in Limitations if it is material. Never elevate a local
observation into a verdict on the whole method, and never invent a
tradeoff to cover a weakness.
- Every experiment has an argumentative duty: it shows the method works,
shows the gain comes from the key mechanism, shows value in the target
scenario, or rules out the most likely alternative explanation. An
experiment carrying none of these is cut, shortened, moved to the
appendix, or redesigned. The experiments section is an argument, not a
results warehouse.
- State the advantage yourself — under which condition it appears, why it
appears, what it solves — rather than expecting the reviewer to find it
in a table. Abstract and introduction open like a launch: an important
unsolved problem, the gap in existing methods, this paper's distinct
idea, the heaviest result. The conclusion reinforces what was solved,
proposed and proven and why it matters; no new self-negation or widened
limitations in the last paragraph.
Large file handling: If the Write tool fails due to file size, immediately retry using Bash (cat << 'EOF' > file) to write in chunks. Do NOT ask the user for permission — just do it silently.
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)
Calibrate, don't hedge — match each claim to its evidence's actual scope and modality, then state it directly; generic caveats live in Limitations only (the CONFIDENT PROSE, HONEST LIMITS block above is the contract)
Launch, not progress report — organize around the strongest genuine advantage, pick the contest the paper wins, give every experiment an argumentative duty; unfavorable numbers stay in the tables, explained as tradeoffs where the evidence supports that and stated neutrally where it does not — never narrated as defeats, never dressed as a tradeoff they are not (rules 9-12 above)
Order results by argument, not by lab notebook — present experiments in the sequence that best builds the case, never in the order they happened to run
Controls and ablations sit next to the claim they test — not pooled in a distant subsection where the reader has forgotten what was at stake
Venue style matters — all three venues (ICLR/NeurIPS/ICML) use natbib (\citep/\citet)
Page limit = main body to Conclusion — references and appendix do NOT count
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
Writing Quality Reference
Principles from Research-Paper-Writing-Skills:
- One message per paragraph — each paragraph makes exactly one point
- Topic sentence first — the first sentence states the paragraph's message
- Explicit transitions — connect paragraphs with logical connectors
- Reverse outline test — extract topic sentences; they should form a coherent narrative
De-AI patterns from kgraph57/paper-writer-skill:
- No AI watch words — delve, pivotal, landscape, tapestry, underscore
- No significance inflation — groundbreaking, revolutionary, paradigm shift
- No formulaic structures — vary sentence openings and transitions
Acknowledgements
Writing methodology adapted from Research-Paper-Writing-Skills (CCF award-winning methodology). Citation verification from claude-scholar and Imbad0202/academic-research-skills. De-AI polish from kgraph57/paper-writer-skill. Backup mechanism from baoyu-skills.
1---2name: paper-write-33description: 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.4---56> Override for Codex users who want **Gemini**, not a second Codex agent, to act as the reviewer. Install this package **after** `skills/skills-codex/*`.78# Paper Write: Section-by-Section LaTeX Generation910> **Gemini overlay assurance:** `review_independence: cross-family` and `acceptance_status: accepted`.1112Draft a LaTeX paper based on: **$ARGUMENTS**1314## Constants1516- **REVIEWER_MODEL = `gemini-review`** — Gemini reviewer invoked through the local `gemini-review` MCP bridge. Set `GEMINI_REVIEW_MODEL` if you need a specific Gemini model override.17- **TARGET_VENUE = `ICLR`** — Default venue. Supported: `ICLR`, `NeurIPS`, `ICML`. Determines style file and formatting.18- **ANONYMOUS = true** — If true, use anonymous author block. Set `false` for camera-ready.19- **MAX_PAGES = 9** — Main body page limit. Counts from first page to end of Conclusion section. References and appendix are NOT counted.20- **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).2122## Inputs23241. **PAPER_PLAN.md** — outline with claims-evidence matrix, section plan, figure plan (from `/paper-plan`)252. **NARRATIVE_REPORT.md** — the research narrative (primary source of content)263. **Generated figures** — PDF/PNG files in `figures/` (from `/paper-figure`)274. **LaTeX includes** — `figures/latex_includes.tex` (from `/paper-figure`)285. **Bibliography** — existing `.bib` file, or will create one2930If no PAPER_PLAN.md exists, ask the user to run `/paper-plan` first or provide a brief outline.3132## Templates3334### Venue-Specific Setup3536The skill includes conference templates in `templates/`. Select based on TARGET_VENUE:3738**ICLR:**39```latex40\documentclass{article}41\usepackage{iclr2026_conference,times}42% \iclrfinalcopy % Uncomment for camera-ready43```4445**NeurIPS:**46```latex47\documentclass{article}48\usepackage[preprint]{neurips_2025}49% \usepackage[final]{neurips_2025} % Camera-ready50```5152**ICML:**53```latex54\documentclass[accepted]{icml2025}55% Use [accepted] for camera-ready56```5758### Project Structure5960Generate this file structure:6162```63paper/64├── main.tex # master file (includes sections)65├── iclr2026_conference.sty # or neurips_2025.sty / icml2025.sty66├── math_commands.tex # shared math macros67├── references.bib # bibliography (filtered — only cited entries)68├── sections/69│ ├── 0_abstract.tex70│ ├── 1_introduction.tex71│ ├── 2_related_work.tex72│ ├── 3_method.tex # or preliminaries, setup, etc.73│ ├── 4_experiments.tex74│ ├── 5_conclusion.tex75│ └── A_appendix.tex # proof details, extra experiments76└── figures/ # symlink or copy from project figures/77```7879**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`).8081## Workflow8283### Step 0: Backup and Clean8485If `paper/` already exists, back up to `paper-backup-{timestamp}/` before overwriting. Never silently destroy existing work.8687**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.8889### Step 1: Initialize Project90911. Create `paper/` directory922. Copy venue template from `templates/` — the template already includes:93 - All standard packages (amsmath, hyperref, cleveref, booktabs, etc.)94 - Theorem environments with `\crefname{assumption}` fix95 - Anonymous author block963. Generate `math_commands.tex` with paper-specific notation974. Create section files matching PAPER_PLAN structure9899**Author block (anonymous mode):**100```latex101\author{Anonymous Authors}102```103104### Step 2: Generate math_commands.tex105106Create shared math macros based on the paper's notation:107108```latex109% math_commands.tex — shared notation110\newcommand{\R}{\mathbb{R}}111\newcommand{\E}{\mathbb{E}}112\DeclareMathOperator*{\argmin}{arg\,min}113\DeclareMathOperator*{\argmax}{arg\,max}114% Add paper-specific notation here115```116117### Step 3: Write Each Section118119Process sections in order. For each section:1201211. **Read the plan** — what claims, evidence, citations belong here1222. **Read NARRATIVE_REPORT.md** — extract relevant content, findings, and quantitative results1233. **Draft content** — write complete LaTeX (not placeholders)1244. **Insert figures/tables** — use snippets from `figures/latex_includes.tex`1255. **Add citations** — use `\citep{}` / `\citet{}` (all three venues use `natbib`)126127#### Section-Specific Guidelines128129**§0 Abstract:**130- Must be self-contained (understandable without reading the paper)131- Structure: problem → approach → key result → implication132- Include one concrete quantitative result133- 150-250 words (check venue limit)134- No citations, no undefined acronyms135- No `\begin{abstract}` — that's in main.tex136137**§1 Introduction:**138- Open with a compelling hook (1-2 sentences, problem motivation)139- State the gap clearly ("However, ...")140- List contributions as a numbered or bulleted list141- End with a brief roadmap ("The rest of this paper is organized as...")142- Include the main result figure if space allows143- Target: 1.5 pages144145**§2 Related Work:**146- **MINIMUM 1 full page** (3-4 substantive paragraphs). Short related work sections are a common reviewer complaint.147- Organize by category using `\paragraph{Category Name.}`148- Each category: 1 paragraph summarizing the line of work + 1-2 sentences positioning this paper149- Do NOT just list papers — synthesize and compare150- End each paragraph with how this paper relates/differs151152**§3 Method / Preliminaries / Setup:**153- Define notation early (reference math_commands.tex)154- Use `\begin{definition}`, `\begin{theorem}` environments for formal statements155- For theory papers: include proof sketches of key results in main body, full proofs in appendix156- For theory papers: include a **comparison table** of prior bounds vs. this paper157- Include algorithm pseudocode if applicable (`algorithm2e` or `algorithmic`)158- Target: 1.5-2 pages159160**§4 Experiments:**161- Start with experimental setup (datasets, baselines, metrics, implementation details)162- Main results table/figure first163- Then ablations and analysis164- Every claim from the introduction must have supporting evidence here165- Target: 2.5-3 pages166167**§5 Conclusion:**168- Summarize contributions (NOT copy-paste from intro — rephrase)169- 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)170- Future work (1-2 concrete directions)171- Ethics statement and reproducibility statement (if venue requires)172- Target: 0.5 pages173174**Appendix:**175- Proof details (full proofs of main-body theorems)176- Additional experiments, ablations177- Implementation details, hyperparameter tables178- Additional visualizations179180### Step 4: Build Bibliography181182**CRITICAL: Only include entries that are actually cited in the paper.**1831841. Scan all `\citep{}` and `\citet{}` references in the drafted sections1852. Build a citation key list1863. For each citation key:187 - Check existing `.bib` files in the project/narrative docs188 - If not found and **DBLP_BIBTEX = true**, use the verified fetch chain below189 - If not found and **DBLP_BIBTEX = false**, search arXiv/Scholar for correct BibTeX190 - **NEVER fabricate BibTeX entries** — mark unknown ones with `[VERIFY]` comment1914. Write `references.bib` containing ONLY cited entries (no bloat)192193#### Verified BibTeX Fetch (when DBLP_BIBTEX = true)194195Three-step fallback chain — zero install, zero auth, all real BibTeX:196197**Step A: DBLP (best quality — full venue, pages, editors)**198```bash199# 1. Search by title + first author200curl -s "https://dblp.org/search/publ/api?q=TITLE+AUTHOR&format=json&h=3"201# 2. Extract DBLP key from result (e.g., conf/nips/VaswaniSPUJGKP17)202# 3. Fetch real BibTeX203curl -s "https://dblp.org/rec/{key}.bib"204```205206**Step B: CrossRef DOI (fallback — works for arXiv preprints)**207```bash208# If paper has a DOI or arXiv ID (arXiv DOI = 10.48550/arXiv.{id})209curl -sLH "Accept: application/x-bibtex" "https://doi.org/{doi}"210```211212**Step C: Mark `[VERIFY]` (last resort)**213If both DBLP and CrossRef return nothing, mark the entry with `% [VERIFY]` comment. Do NOT fabricate.214215**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`, `/novelty-check`) may mention papers from LLM memory — this fetch chain is the gate that prevents hallucinated citations from entering the final `.bib`.216217**Automated bib cleaning** — use this Python pattern to extract only cited entries:218219```python220import re221# 1. Grep all \citep{...} and \citet{...} from all .tex files222# 2. Extract unique keys (handle multi-cite like \citep{a,b,c})223# 3. Parse the full .bib file, keep only entries whose key is in the cited set224# 4. Write the filtered bib225```226227This prevents bib bloat (e.g., 948 lines → 215 lines in testing).228229**Citation verification rules (from claude-scholar + Imbad0202):**2301. Every BibTeX entry must have: author, title, year, venue/journal2312. Prefer published venue versions over arXiv preprints (if published)2323. Use consistent key format: `{firstauthor}{year}{keyword}` (e.g., `ho2020denoising`)2334. Double-check year and venue for every entry2345. Remove duplicate entries (same paper with different keys)235236### Step 5: De-AI Polish (from kgraph57/paper-writer-skill)237238After drafting all sections, scan for common AI writing patterns and fix them:239240**Content patterns to fix:**241- Significance inflation ("groundbreaking", "revolutionary" → use measured language)242- Formulaic transitions ("In this section, we..." → remove or vary)243- Generic conclusions ("This work opens exciting new avenues" → be specific)244245**Language patterns to fix (watch words):**246- Replace: delve, pivotal, landscape, tapestry, underscore, noteworthy, intriguingly247- Remove filler: "It is worth noting that", "Importantly,", "Notably,"248- Avoid rule-of-three lists ("X, Y, and Z" appearing repeatedly)249- Don't start consecutive sentences with "This" or "We"250251### Step 6: Cross-Review with REVIEWER_MODEL252253Send the complete draft to Gemini review:254255```256mcp__gemini-review__review_start:257 prompt: |258 Review this [VENUE] paper draft (main body, excluding appendix).259260 Judge claim calibration in BOTH directions. Recommend narrowing only when the261 current scope or modality exceeds the evidence; do not ask for extra hedges262 around a supported result. Flag stacked hedges, self-defence ("we do not263 claim"), instruction confessions ("we do not address X"), and generic caveats264 outside Limitations as writing defects to remove. Tone fixes must never alter265 facts, negation, modality, scope, comparison direction, or numbers.266267 Focus on:268 1. Does each claim from the intro have supporting evidence?269 2. Is the writing clear, concise, and free of AI-isms?270 3. Any logical gaps or unclear explanations?271 4. Does it fit within [MAX_PAGES] pages (to end of Conclusion)?272 5. Is related work sufficiently comprehensive (≥1 page)?273 6. For theory papers: are proof sketches adequate?274 7. Are figures/tables clearly described and properly referenced?275276 For each issue, specify: severity (CRITICAL/MAJOR/MINOR), location, and fix.277278 [paste full draft text]279```280281After this start call, immediately save the returned `jobId` and poll `mcp__gemini-review__review_status` with a bounded `waitSeconds` until `done=true`. Treat the completed status payload's `response` as the reviewer output, and save the completed `threadId` for any follow-up round.282283Apply CRITICAL and MAJOR fixes. Document MINOR issues for the user.284285### Step 7: Reverse Outline Test (from Research-Paper-Writing-Skills)286287After drafting all sections:2882891. **Extract topic sentences** — pull the first sentence of every paragraph2902. **Read them in sequence** — they should form a coherent narrative on their own2913. **Check claim coverage** — every claim from the Claims-Evidence Matrix must appear2924. **Check evidence mapping** — every experiment/figure must support a stated claim2935. **Fix gaps** — if a topic sentence doesn't advance the story, rewrite the paragraph294295### Step 8: Final Checks296297Before declaring done:298299- [ ] All `\ref{}` and `\label{}` match (no undefined references)300- [ ] All `\citep{}` / `\citet{}` have corresponding BibTeX entries301- [ ] No author information in anonymous mode302- [ ] Figure/table numbering is correct303- [ ] Page count within MAX_PAGES (main body to Conclusion end)304- [ ] No TODO/FIXME/XXX markers left in the text305- [ ] No `[VERIFY]` markers left unchecked306- [ ] Abstract is self-contained (understandable without reading the paper)307- [ ] Title is specific and informative (not generic)308- [ ] Related work is ≥1 full page309- [ ] references.bib contains ONLY cited entries (no bloat)310- [ ] **No stale section files** — every .tex in `sections/` is `\input`ed by `main.tex`311- [ ] **Section files match main.tex** — file numbering and `\input` paths are consistent312313## Output Protocols314315> Follow these shared protocols for all output files:316> - **[Output Versioning Protocol](../../shared-references/output-versioning.md)** — write timestamped file first, then copy to fixed name317> - **[Output Manifest Protocol](../../shared-references/output-manifest.md)** — log every output to MANIFEST.md318> - **[Output Language Protocol](../../shared-references/output-language.md)** — respect the project's language setting319320## Key Rules321322=== CONFIDENT PROSE, HONEST LIMITS (never upgrades claims) ===3231. Calibrate each claim to the evidence's actual scope and modality, then state324 that calibrated claim directly. Necessary assumptions, uncertainty, and325 scope are part of the claim; stacked hedges and defensive throat-clearing326 are not.3272. If the current claim is unsupported, narrow it to a version the evidence328 supports or cut it. Do not substitute a softer-sounding synonym for fixing329 scope, modality, comparison, or aggregation.3303. Put generic caveats and broader boundary discussion in one Limitations331 section. Outside it, remove generic disclaimers such as "further research332 is needed", "may not generalize", and "should be interpreted with caution".333 Claim-defining scope, assumptions, and statistical qualifications stay334 attached to the claims they make true.3354. Aim for 2-4 material, specific limitations (dataset scale, compute regime,336 assumption X). Real ones only — never invent one to meet a count, never337 apologize generically, never repeat the same limitation through the paper.3385. Writing instructions are not manuscript content. "Do not mention X" means339 omit X, not write "we do not address/claim/discuss X". Never expose340 drafting instructions, requested omissions, reviewer feedback, or revision341 history in manuscript prose.3426. Replace self-defence ("we do not claim", "our goal is merely") with a343 positive, evidence-matched statement of what the paper does establish. If344 the defensive sentence carries a real boundary, keep that boundary in the345 claim or Limitations; do not delete truth-conditional content.3467. Tone-only edits never alter facts, negation, modality, scope, assumptions,347 comparison direction, aggregation, numbers, formulas, or citations. Genuine348 overclaims must still be narrowed; supported claims wrapped in redundant349 caution must be stated directly.3508. One causal spine: gap -> question -> insight -> consequence -> evidence ->351 implication. Every section advances it. Make the method feel inevitable:352 the gap creates a concrete question, the key insight answers it, the method353 follows from the insight, each major experiment tests a consequence of it,354 and the conclusion states exactly what the evidence establishes.355 Front-load the contribution; never narrate the drafting or revision process.3569. The paper is a launch, not a progress report. Organize the narrative357 around the work's strongest genuine advantage — a new capability, problem,358 mechanism or viewpoint, wider applicability, lower cost, a better tradeoff.359 Material that does not form an advantage stays out of the main line. If the360 results cannot carry the original story, rebuild the story around the361 strongest evidence instead of defending the original one.36210. Pick the contest the paper wins. Do not build the narrative on a metric363 where the method is not ahead; frame the comparison around the task364 definition, evaluation dimension or constraint that reflects what the365 method is for, and say explicitly which contest it wins. Unfavorable366 numbers still appear — tables stay complete. Where the evidence supports367 it, explain them as a goal difference or a deliberate tradeoff rather368 than narrating a defeat ("underperforms", "fails to surpass"); where it369 does not, state the underperformance neutrally, narrow the claim, and370 keep it in Limitations if it is material. Never elevate a local371 observation into a verdict on the whole method, and never invent a372 tradeoff to cover a weakness.37311. Every experiment has an argumentative duty: it shows the method works,374 shows the gain comes from the key mechanism, shows value in the target375 scenario, or rules out the most likely alternative explanation. An376 experiment carrying none of these is cut, shortened, moved to the377 appendix, or redesigned. The experiments section is an argument, not a378 results warehouse.37912. State the advantage yourself — under which condition it appears, why it380 appears, what it solves — rather than expecting the reviewer to find it381 in a table. Abstract and introduction open like a launch: an important382 unsolved problem, the gap in existing methods, this paper's distinct383 idea, the heaviest result. The conclusion reinforces what was solved,384 proposed and proven and why it matters; no new self-negation or widened385 limitations in the last paragraph.386387388- **Large file handling**: If the Write tool fails due to file size, immediately retry using Bash (`cat << 'EOF' > file`) to write in chunks. Do NOT ask the user for permission — just do it silently.389390- **Do NOT generate author names, emails, or affiliations** — use anonymous block or placeholder391- **Write complete sections, not outlines** — the output should be compilable LaTeX392- **One file per section** — modular structure for easy editing393- **Every claim must cite evidence** — cross-reference the Claims-Evidence Matrix394- **Compile-ready** — the output should compile with `latexmk` without errors (modulo missing figures)395- **Calibrate, don't hedge** — match each claim to its evidence's actual scope and modality, then state it directly; generic caveats live in Limitations only (the CONFIDENT PROSE, HONEST LIMITS block above is the contract)396- **Launch, not progress report** — organize around the strongest genuine advantage, pick the contest the paper wins, give every experiment an argumentative duty; unfavorable numbers stay in the tables, explained as tradeoffs where the evidence supports that and stated neutrally where it does not — never narrated as defeats, never dressed as a tradeoff they are not (rules 9-12 above)397- **Order results by argument, not by lab notebook** — present experiments in the sequence that best builds the case, never in the order they happened to run398- **Controls and ablations sit next to the claim they test** — not pooled in a distant subsection where the reader has forgotten what was at stake399- **Venue style matters** — all three venues (ICLR/NeurIPS/ICML) use `natbib` (`\citep`/`\citet`)400- **Page limit = main body to Conclusion** — references and appendix do NOT count401- **Clean bib** — references.bib must only contain entries that are actually `\cite`d402- **Section count is flexible** — match PAPER_PLAN structure, don't force into 5 sections403- **Backup before overwrite** — never destroy existing `paper/` directory without backing up404405## Writing Quality Reference406407Principles from [Research-Paper-Writing-Skills](https://github.com/Master-cai/Research-Paper-Writing-Skills):4084091. **One message per paragraph** — each paragraph makes exactly one point4102. **Topic sentence first** — the first sentence states the paragraph's message4113. **Explicit transitions** — connect paragraphs with logical connectors4124. **Reverse outline test** — extract topic sentences; they should form a coherent narrative413414De-AI patterns from [kgraph57/paper-writer-skill](https://github.com/kgraph57/paper-writer-skill):4154165. **No AI watch words** — delve, pivotal, landscape, tapestry, underscore4176. **No significance inflation** — groundbreaking, revolutionary, paradigm shift4187. **No formulaic structures** — vary sentence openings and transitions419420## Acknowledgements421422Writing methodology adapted from [Research-Paper-Writing-Skills](https://github.com/Master-cai/Research-Paper-Writing-Skills) (CCF award-winning methodology). Citation verification from [claude-scholar](https://github.com/Galaxy-Dawn/claude-scholar) and [Imbad0202/academic-research-skills](https://github.com/Imbad0202/academic-research-skills). De-AI polish from [kgraph57/paper-writer-skill](https://github.com/kgraph57/paper-writer-skill). Backup mechanism from [baoyu-skills](https://github.com/jimliu/baoyu-skills).