{"id":"ml-paper-writing","name":"ml-paper-writing","summary":"NeurIPS、ICML、ICLR、ACL、AAAI、COLM、OSDI、NSDI、ASPLOS、SOSP 向けの出版準備が整ったML/AI/システム論文を執筆してください。","body":"# ML Paper Writing for Top AI & Systems Conferences\n\nExpert-level guidance for writing publication-ready papers targeting **NeurIPS, ICML, ICLR, ACL, AAAI, COLM** (ML/AI venues) and **OSDI, NSDI, ASPLOS, SOSP** (Systems venues). This skill combines writing philosophy from top researchers (Nanda, Farquhar, Karpathy, Lipton, Steinhardt) with practical tools: LaTeX templates, citation verification APIs, and conference checklists.\n\n## Core Philosophy: Collaborative Writing\n\n**Paper writing is collaborative, but Claude should be proactive in delivering drafts.**\n\nThe typical workflow starts with a research repository containing code, results, and experimental artifacts. Claude's role is to:\n\n1. **Understand the project** by exploring the repo, results, and existing documentation\n2. **Deliver a complete first draft** when confident about the contribution\n3. **Search literature** using web search and APIs to find relevant citations\n4. **Refine through feedback cycles** when the scientist provides input\n5. **Ask for clarification** only when genuinely uncertain about key decisions\n\n**Key Principle**: Be proactive. If the repo and results are clear, deliver a full draft. Don't block waiting for feedback on every section—scientists are busy. Produce something concrete they can react to, then iterate based on their response.\n\n---\n\n## ⚠️ CRITICAL: Never Hallucinate Citations\n\n**This is the most important rule in academic writing with AI assistance.**\n\n### The Problem\nAI-generated citations have a **~40% error rate**. Hallucinated references—papers that don't exist, wrong authors, incorrect years, fabricated DOIs—are a serious form of academic misconduct that can result in desk rejection or retraction.\n\n### The Rule\n**NEVER generate BibTeX entries from memory. ALWAYS fetch programmatically.**\n\n| Action | ✅ Correct | ❌ Wrong |\n|--------|-----------|----------|\n| Adding a citation | Search API → verify → fetch BibTeX | Write BibTeX from memory |\n| Uncertain about a paper | Mark as `[CITATION NEEDED]` | Guess the reference |\n| Can't find exact paper | Note: \"placeholder - verify\" | Invent similar-sounding paper |\n\n### When You Can't Verify a Citation\n\nIf you cannot programmatically verify a citation, you MUST:\n\n```latex\n% EXPLICIT PLACEHOLDER - requires human verification\n\\cite{PLACEHOLDER_author2024_verify_this}  % TODO: Verify this citation exists\n```\n\n**Always tell the scientist**: \"I've marked [X] citations as placeholders that need verification. I could not confirm these papers exist.\"\n\n### Recommended: Install Exa MCP for Paper Search\n\nFor the best paper search experience, install **Exa MCP** which provides real-time academic search:\n\n**Claude Code:**\n```bash\nclaude mcp add exa -- npx -y mcp-remote \"https://mcp.exa.ai/mcp\"\n```\n\n**Cursor / VS Code** (add to MCP settings):\n```json\n{\n  \"mcpServers\": {\n    \"exa\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.exa.ai/mcp\"\n    }\n  }\n}\n```\n\nExa MCP enables searches like:\n- \"Find papers on RLHF for language models published after 2023\"\n- \"Search for transformer architecture papers by Vaswani\"\n- \"Get recent work on sparse autoencoders for interpretability\"\n\nThen verify results with Semantic Scholar API and fetch BibTeX via DOI.\n\n---\n\n## Workflow 0: Starting from a Research Repository\n\nWhen beginning paper writing, start by understanding the project:\n\n```\nProject Understanding:\n- [ ] Step 1: Explore the repository structure\n- [ ] Step 2: Read README, existing docs, and key results\n- [ ] Step 3: Identify the main contribution with the scientist\n- [ ] Step 4: Find papers already cited in the codebase\n- [ ] Step 5: Search for additional relevant literature\n- [ ] Step 6: Outline the paper structure together\n- [ ] Step 7: Draft sections iteratively with feedback\n```\n\n**Step 1: Explore the Repository**\n\n```bash\n# Understand project structure\nls -la\nfind . -name \"*.py\" | head -20\nfind . -name \"*.md\" -o -name \"*.txt\" | xargs grep -l -i \"result\\|conclusion\\|finding\"\n```\n\nLook for:\n- `README.md` - Project overview and claims\n- `results/`, `outputs/`, `experiments/` - Key findings\n- `configs/` - Experimental settings\n- Existing `.bib` files or citation references\n- Any draft documents or notes\n\n**Step 2: Identify Existing Citations**\n\nCheck for papers already referenced in the codebase:\n\n```bash\n# Find existing citations\ngrep -r \"arxiv\\|doi\\|cite\" --include=\"*.md\" --include=\"*.bib\" --include=\"*.py\"\nfind . -name \"*.bib\"\n```\n\nThese are high-signal starting points for Related Work—the scientist has already deemed them relevant.\n\n**Step 3: Clarify the Contribution**\n\nBefore writing, explicitly confirm with the scientist:\n\n> \"Based on my understanding of the repo, the main contribution appears to be [X].\n> The key results show [Y]. Is this the framing you want for the paper,\n> or should we emphasize different aspects?\"\n\n**Never assume the narrative—always verify with the human.**\n\n**Step 4: Search for Additional Literature**\n\nUse web search to find relevant papers:\n\n```\nSearch queries to try:\n- \"[main technique] + [application domain]\"\n- \"[baseline method] comparison\"\n- \"[problem name] state-of-the-art\"\n- Author names from existing citations\n```\n\nThen verify and retrieve BibTeX using the citation workflow below.\n\n**Step 5: Deliver a First Draft**\n\n**Be proactive—deliver a complete draft rather than asking permission for each section.**\n\nIf the repo provides clear results and the contribution is apparent:\n1. Write the full first draft end-to-end\n2. Present the complete draft for feedback\n3. Iterate based on scientist's response\n\nIf genuinely uncertain about framing or major claims:\n1. Draft what you can confidently\n2. Flag specific uncertainties: \"I framed X as the main contribution—let me know if you'd prefer to emphasize Y instead\"\n3. Continue with the draft rather than blocking\n\n**Questions to include with the draft** (not before):\n- \"I emphasized X as the main contribution—adjust if needed\"\n- \"I highlighted results A, B, C—let me know if others are more important\"\n- \"Related work section includes [papers]—add any I missed\"\n\n---\n\n## When to Use This Skill\n\nUse this skill when:\n- **Starting from a research repo** to write a paper\n- **Drafting or revising** specific sections\n- **Finding and verifying citations** for related work\n- **Formatting** for conference submission\n- **Resubmitting** to a different venue (format conversion)\n- **Iterating** on drafts with scientist feedback\n\n**Always remember**: First drafts are starting points for discussion, not final outputs.\n\n---\n\n## Balancing Proactivity and Collaboration\n\n**Default: Be proactive. Deliver drafts, then iterate.**\n\n| Confidence Level | Action |\n|-----------------|--------|\n| **High** (clear repo, obvious contribution) | Write full draft, deliver, iterate on feedback |\n| **Medium** (some ambiguity) | Write draft with flagged uncertainties, continue |\n| **Low** (major unknowns) | Ask 1-2 targeted questions, then draft |\n\n**Draft first, ask with the draft** (not before):\n\n| Section | Draft Autonomously | Flag With Draft |\n|---------|-------------------|-----------------|\n| Abstract | Yes | \"Framed contribution as X—adjust if needed\" |\n| Introduction | Yes | \"Emphasized problem Y—correct if wrong\" |\n| Methods | Yes | \"Included details A, B, C—add missing pieces\" |\n| Experiments | Yes | \"Highlighted results 1, 2, 3—reorder if needed\" |\n| Related Work | Yes | \"Cited papers X, Y, Z—add any I missed\" |\n\n**Only block for input when:**\n- Target venue is unclear (affects page limits, framing)\n- Multiple contradictory framings seem equally valid\n- Results seem incomplete or inconsistent\n- Explicit request to review before continuing\n\n**Don't block for:**\n- Word choice decisions\n- Section ordering\n- Which specific results to show (make a choice, flag it)\n- Citation completeness (draft with what you find, note gaps)\n\n---\n\n## The Narrative Principle\n\n**The single most critical insight**: Your paper is not a collection of experiments—it's a story with one clear contribution supported by evidence.\n\nEvery successful ML paper centers on what Neel Nanda calls \"the narrative\": a short, rigorous, evidence-based technical story with a takeaway readers care about.\n\n**Three Pillars (must be crystal clear by end of introduction):**\n\n| Pillar | Description | Example |\n|--------|-------------|---------|\n| **The What** | 1-3 specific novel claims within cohesive theme | \"We prove that X achieves Y under condition Z\" |\n| **The Why** | Rigorous empirical evidence supporting claims | Strong baselines, experiments distinguishing hypotheses |\n| **The So What** | Why readers should care | Connection to recognized community problems |\n\n**If you cannot state your contribution in one sentence, you don't yet have a paper.**\n\n---\n\n## Paper Structure Workflow\n\n### Workflow 1: Writing a Complete Paper (Iterative)\n\nCopy this checklist and track progress. **Each step involves drafting → feedback → revision:**\n\n```\nPaper Writing Progress:\n- [ ] Step 1: Define the one-sentence contribution (with scientist)\n- [ ] Step 2: Draft Figure 1 → get feedback → revise\n- [ ] Step 3: Draft abstract → get feedback → revise\n- [ ] Step 4: Draft introduction → get feedback → revise\n- [ ] Step 5: Draft methods → get feedback → revise\n- [ ] Step 6: Draft experiments → get feedback → revise\n- [ ] Step 7: Draft related work → get feedback → revise\n- [ ] Step 8: Draft limitations → get feedback → revise\n- [ ] Step 9: Complete paper checklist (required)\n- [ ] Step 10: Final review cycle and submission\n```\n\n**Step 1: Define the One-Sentence Contribution**\n\n**This step requires explicit confirmation from the scientist.**\n\nBefore writing anything, articulate and verify:\n- What is the single thing your paper contributes?\n- What was not obvious or present before your work?\n\n> \"I propose framing the contribution as: '[one sentence]'. Does this capture\n> what you see as the main takeaway? Should we adjust the emphasis?\"\n\n**Step 2: Draft Figure 1**\n\nFigure 1 deserves special attention—many readers skip directly to it.\n- Convey core idea, approach, or most compelling result\n- Use vector graphics (PDF/EPS for plots)\n- Write captions that stand alone without main text\n- Ensure readability in black-and-white (8% of men have color vision deficiency)\n\n**Step 3: Write Abstract (5-Sentence Formula)**\n\nFrom Sebastian Farquhar (DeepMind):\n\n```\n1. What you achieved: \"We introduce...\", \"We prove...\", \"We demonstrate...\"\n2. Why this is hard and important\n3. How you do it (with specialist keywords for discoverability)\n4. What evidence you have\n5. Your most remarkable number/result\n```\n\n**Delete** generic openings like \"Large language models have achieved remarkable success...\"\n\n**Step 4: Write Introduction (1-1.5 pages max)**\n\nMust include:\n- 2-4 bullet contribution list (max 1-2 lines each in two-column format)\n- Clear problem statement\n- Brief approach overview\n- Methods should start by page 2-3 maximum\n\n**Step 5: Methods Section**\n\nEnable reimplementation:\n- Conceptual outline or pseudocode\n- All hyperparameters listed\n- Architectural details sufficient for reproduction\n- Present final design decisions; ablations go in experiments\n\n**Step 6: Experiments Section**\n\nFor each experiment, explicitly state:\n- What claim it supports\n- How it connects to main contribution\n- Experimental setting (details in appendix)\n- What to observe: \"the blue line shows X, which demonstrates Y\"\n\nRequirements:\n- Error bars with methodology (standard deviation vs standard error)\n- Hyperparameter search ranges\n- Compute infrastructure (GPU type, total hours)\n- Seed-setting methods\n\n**Step 7: Related Work**\n\nOrganize methodologically, not paper-by-paper:\n\n**Good:** \"One line of work uses Floogledoodle's assumption [refs] whereas we use Doobersnoddle's assumption because...\"\n\n**Bad:** \"Snap et al. introduced X while Crackle et al. introduced Y.\"\n\nCite generously—reviewers likely authored relevant papers.\n\n**Step 8: Limitations Section (REQUIRED)**\n\nAll major conferences require this. Counter-intuitively, honesty helps:\n- Reviewers are instructed not to penalize honest limitation acknowledgment\n- Pre-empt criticisms by identifying weaknesses first\n- Explain why limitations don't undermine core claims\n\n**Step 9: Paper Checklist**\n\nNeurIPS, ICML, and ICLR all require paper checklists. See [references/checklists.md](references/checklists.md).\n\n---\n\n## Writing Philosophy for Top ML Conferences\n\n**This section distills the most important writing principles from leading ML researchers.** These aren't optional style suggestions—they're what separates accepted papers from rejected ones.\n\n> \"A paper is a short, rigorous, evidence-based technical story with a takeaway readers care about.\" — Neel Nanda\n\n### The Sources Behind This Guidance\n\nThis skill synthesizes writing philosophy from researchers who have published extensively at top venues:\n\n| Source | Key Contribution | Link |\n|--------|-----------------|------|\n| **Neel Nanda** (Google DeepMind) | The Narrative Principle, What/Why/So What framework | [How to Write ML Papers](https://www.alignmentforum.org/posts/eJGptPbbFPZGLpjsp/highly-opinionated-advice-on-how-to-write-ml-papers) |\n| **Sebastian Farquhar** (DeepMind) | 5-sentence abstract formula | [How to Write ML Papers](https://sebastianfarquhar.com/on-research/2024/11/04/how_to_write_ml_papers/) |\n| **Gopen & Swan** | 7 principles of reader expectations | [Science of Scientific Writing](https://cseweb.ucsd.edu/~swanson/papers/science-of-writing.pdf) |\n| **Zachary Lipton** | Word choice, eliminating hedging | [Heuristics for Scientific Writing](https://www.approximatelycorrect.com/2018/01/29/heuristics-technical-scientific-writing-machine-learning-perspective/) |\n| **Jacob Steinhardt** (UC Berkeley) | Precision, consistent terminology | [Writing Tips](https://bounded-regret.ghost.io/) |\n| **Ethan Perez** (Anthropic) | Micro-level clarity tips | [Easy Paper Writing Tips](https://ethanperez.net/easy-paper-writing-tips/) |\n| **Andrej Karpathy** | Single contribution focus | Various lectures |\n\n**For deeper dives into any of these, see:**\n- [references/writing-guide.md](references/writing-guide.md) - Full explanations with examples\n- [references/sources.md](references/sources.md) - Complete bibliography\n\n### Time Allocation (From Neel Nanda)\n\nSpend approximately **equal time** on each of:\n1. The abstract\n2. The introduction\n3. The figures\n4. Everything else combined\n\n**Why?** Most reviewers form judgments before reaching your methods. Readers encounter your paper as: **title → abstract → introduction → figures → maybe the rest.**\n\n### Writing Style Guidelines\n\n#### Sentence-Level Clarity (Gopen & Swan's 7 Principles)\n\nThese principles are based on how readers actually process prose. Violating them forces readers to spend cognitive effort on structure rather than content.\n\n| Principle | Rule | Example |\n|-----------|------|---------|\n| **Subject-verb proximity** | Keep subject and verb close | ❌ \"The model, which was trained on..., achieves\" → ✅ \"The model achieves... after training on...\" |\n| **Stress position** | Place emphasis at sentence ends | ❌ \"Accuracy improves by 15% when using attention\" → ✅ \"When using attention, accuracy improves by **15%**\" |\n| **Topic position** | Put context first, new info after | ✅ \"Given these constraints, we propose...\" |\n| **Old before new** | Familiar info → unfamiliar info | Link backward, then introduce new |\n| **One unit, one function** | Each paragraph makes one point | Split multi-point paragraphs |\n| **Action in verb** | Use verbs, not nominalizations | ❌ \"We performed an analysis\" → ✅ \"We analyzed\" |\n| **Context before new** | Set stage before presenting | Explain before showing equation |\n\n**Full 7 principles with detailed examples:** See [references/writing-guide.md](references/writing-guide.md#the-7-principles-of-reader-expectations)\n\n#### Micro-Level Tips (Ethan Perez)\n\nThese small changes accumulate into significantly clearer prose:\n\n- **Minimize pronouns**: ❌ \"This shows...\" → ✅ \"This result shows...\"\n- **Verbs early**: Position verbs near sentence start\n- **Unfold apostrophes**: ❌ \"X's Y\" → ✅ \"The Y of X\" (when awkward)\n- **Delete filler words**: \"actually,\" \"a bit,\" \"very,\" \"really,\" \"basically,\" \"quite,\" \"essentially\"\n\n**Full micro-tips with examples:** See [references/writing-guide.md](references/writing-guide.md#micro-level-writing-tips)\n\n#### Word Choice (Zachary Lipton)\n\n- **Be specific**: ❌ \"performance\" → ✅ \"accuracy\" or \"latency\" (say what you mean)\n- **Eliminate hedging**: Drop \"may\" and \"can\" unless genuinely uncertain\n- **Avoid incremental vocabulary**: ❌ \"combine,\" \"modify,\" \"expand\" → ✅ \"develop,\" \"propose,\" \"introduce\"\n- **Delete intensifiers**: ❌ \"provides *very* tight approximation\" → ✅ \"provides tight approximation\"\n\n#### Precision Over Brevity (Jacob Steinhardt)\n\n- **Consistent terminology**: Different terms for same concept creates confusion. Pick one and stick with it.\n- **State assumptions formally**: Before theorems, list all assumptions explicitly\n- **Intuition + rigor**: Provide intuitive explanations alongside formal proofs\n\n### What Reviewers Actually Read\n\nUnderstanding reviewer behavior helps prioritize your effort:\n\n| Paper Section | % Reviewers Who Read | Implication |\n|---------------|---------------------|-------------|\n| Abstract | 100% | Must be perfect |\n| Introduction | 90%+ (skimmed) | Front-load contribution |\n| Figures | Examined before methods | Figure 1 is critical |\n| Methods | Only if interested | Don't bury the lede |\n| Appendix | Rarely | Put only supplementary details |\n\n**Bottom line**: If your abstract and intro don't hook reviewers, they may never read your brilliant methods section.\n\n---\n\n## Conference Requirements Quick Reference\n\n### ML/AI Conferences\n\n| Conference | Page Limit | Extra for Camera-Ready | Key Requirement |\n|------------|------------|------------------------|------------------|\n| **NeurIPS 2025** | 9 pages | +0 | Mandatory checklist, lay summary for accepted |\n| **ICML 2026** | 8 pages | +1 | Broader Impact Statement required |\n| **ICLR 2026** | 9 pages | +1 | LLM disclosure required, reciprocal reviewing |\n| **ACL 2025** | 8 pages (long) | varies | Limitations section mandatory |\n| **AAAI 2026** | 7 pages | +1 | Strict style file adherence |\n| **COLM 2025** | 9 pages | +1 | Focus on language models |\n\n### Systems Conferences\n\n| Conference | Page Limit | Extra for Camera-Ready | Key Requirement | Template |\n|------------|------------|------------------------|-----------------|----------|\n| **OSDI 2026** | 12 pages | +2 (14 pages) | Research + Operational Systems tracks | USENIX |\n| **NSDI 2027** | 12 pages | varies | Prescreening via Introduction; 3 tracks | USENIX |\n| **ASPLOS 2027** | 12 pages (ACM) | varies | Rapid review on first 2 pages; dual cycles | ACM SIGPLAN |\n| **SOSP 2026** | 12 pages | varies | Optional artifact evaluation; author response | ACM SIGPLAN |\n\n**Detailed Systems conference info**: See [references/systems-conferences.md](references/systems-conferences.md) for deadlines, track descriptions, submission rules, and format conversion guides.\n\n**Universal Requirements:**\n- Double-blind review (anonymize submissions)\n- References don't count toward page limit\n- Appendices unlimited but reviewers not required to read\n- LaTeX required for all venues\n- **Systems venues**: USENIX uses custom `.sty`; ACM uses `acmart.cls`\n\n**LaTeX Templates:** See [templates/](templates/) directory for all conference templates.\n\n---\n\n## Using LaTeX Templates Properly\n\n### Workflow 4: Starting a New Paper from Template\n\n**Always copy the entire template directory first, then write within it.**\n\n```\nTemplate Setup Checklist:\n- [ ] Step 1: Copy entire template directory to new project\n- [ ] Step 2: Verify template compiles as-is (before any changes)\n- [ ] Step 3: Read the template's example content to understand structure\n- [ ] Step 4: Replace example content section by section\n- [ ] Step 5: Keep template comments/examples as reference until done\n- [ ] Step 6: Clean up template artifacts only at the end\n```\n\n**Step 1: Copy the Full Template**\n\n```bash\n# Create your paper directory with the complete template\ncp -r templates/neurips2025/ ~/papers/my-new-paper/\ncd ~/papers/my-new-paper/\n\n# Verify structure is complete\nls -la\n# Should see: main.tex, neurips.sty, Makefile, etc.\n```\n\n**⚠️ IMPORTANT**: Copy the ENTIRE directory, not just `main.tex`. Templates include:\n- Style files (`.sty`) - required for compilation\n- Bibliography styles (`.bst`) - required for references\n- Example content - useful as reference\n- Makefiles - for easy compilation\n\n**Step 2: Verify Template Compiles First**\n\nBefore making ANY changes, compile the template as-is:\n\n```bash\n# Using latexmk (recommended)\nlatexmk -pdf main.tex\n\n# Or manual compilation\npdflatex main.tex\nbibtex main\npdflatex main.tex\npdflatex main.tex\n```\n\nIf the unmodified template doesn't compile, fix that first. Common issues:\n- Missing TeX packages → install via `tlmgr install <package>`\n- Wrong TeX distribution → use TeX Live (recommended)\n\n**Step 3: Keep Template Content as Reference**\n\nDon't immediately delete all example content. Instead:\n\n```latex\n% KEEP template examples commented out as you write\n% This shows you the expected format\n\n% Template example (keep for reference):\n% \\begin{figure}[t]\n%   \\centering\n%   \\includegraphics[width=0.8\\linewidth]{example-image}\n%   \\caption{Template shows caption style}\n% \\end{figure}\n\n% Your actual figure:\n\\begin{figure}[t]\n  \\centering\n  \\includegraphics[width=0.8\\linewidth]{your-figure.pdf}\n  \\caption{Your caption following the same style.}\n\\end{figure}\n```\n\n**Step 4: Replace Content Section by Section**\n\nWork through the paper systematically:\n\n```\nReplacement Order:\n1. Title and authors (anonymize for submission)\n2. Abstract\n3. Introduction\n4. Methods\n5. Experiments\n6. Related Work\n7. Conclusion\n8. References (your .bib file)\n9. Appendix\n```\n\nFor each section:\n1. Read the template's example content\n2. Note any special formatting or macros used\n3. Replace with your content following the same patterns\n4. Compile frequently to catch errors early\n\n**Step 5: Use Template Macros**\n\nTemplates often define useful macros. Check the preamble for:\n\n```latex\n% Common template macros to use:\n\\newcommand{\\method}{YourMethodName}  % Consistent method naming\n\\newcommand{\\eg}{e.g.,\\xspace}        % Proper abbreviations\n\\newcommand{\\ie}{i.e.,\\xspace}\n\\newcommand{\\etal}{\\textit{et al.}\\xspace}\n```\n\n**Step 6: Clean Up Only at the End**\n\nOnly remove template artifacts when paper is nearly complete:\n\n```latex\n% BEFORE SUBMISSION - remove these:\n% - Commented-out template examples\n% - Unused packages\n% - Template's example figures/tables\n% - Lorem ipsum or placeholder text\n\n% KEEP these:\n% - All style files (.sty)\n% - Bibliography style (.bst)\n% - Required packages from template\n% - Any custom macros you're using\n```\n\n### Template Pitfalls to Avoid\n\n| Pitfall | Problem | Solution |\n|---------|---------|----------|\n| Copying only `main.tex` | Missing `.sty`, won't compile | Copy entire directory |\n| Modifying `.sty` files | Breaks conference formatting | Never edit style files |\n| Adding random packages | Conflicts, breaks template | Only add if necessary |\n| Deleting template content too early | Lose formatting reference | Keep as comments until done |\n| Not compiling frequently | Errors accumulate | Compile after each section |\n\n### Quick Template Reference\n\n#### ML/AI Conferences\n\n| Conference | Main File | Key Style File | Notes |\n|------------|-----------|----------------|-------|\n| NeurIPS 2025 | `main.tex` | `neurips.sty` | Has Makefile |\n| ICML 2026 | `example_paper.tex` | `icml2026.sty` | Includes algorithm packages |\n| ICLR 2026 | `iclr2026_conference.tex` | `iclr2026_conference.sty` | Has math_commands.tex |\n| ACL | `acl_latex.tex` | `acl.sty` | Strict formatting |\n| AAAI 2026 | `aaai2026-unified-template.tex` | `aaai2026.sty` | Very strict compliance |\n| COLM 2025 | `colm2025_conference.tex` | `colm2025_conference.sty` | Similar to ICLR |\n\n#### Systems Conferences\n\n| Conference | Main File | Key Style File | Notes |\n|------------|-----------|----------------|-------|\n| OSDI 2026 | `main.tex` | `usenix-2020-09.sty` | USENIX format, 12pp, two-column, 10pt |\n| NSDI 2027 | `main.tex` | `usenix-2020-09.sty` | Same USENIX format as OSDI |\n| ASPLOS 2027 | `main.tex` | `acmart.cls` (`sigplan`) | ACM SIGPLAN format, 12pp |\n| SOSP 2026 | `main.tex` | `acmart.cls` (`sigplan`) | ACM SIGPLAN, same as ASPLOS |\n\n---\n\n## Conference Resubmission & Format Conversion\n\nWhen a paper is rejected or withdrawn from one venue and resubmitted to another, format conversion is required. This is a common workflow in ML research.\n\n### Workflow 3: Converting Between Conference Formats\n\n```\nFormat Conversion Checklist:\n- [ ] Step 1: Identify source and target template differences\n- [ ] Step 2: Create new project with target template\n- [ ] Step 3: Copy content sections (not preamble)\n- [ ] Step 4: Adjust page limits and content\n- [ ] Step 5: Update conference-specific requirements\n- [ ] Step 6: Verify compilation and formatting\n```\n\n**Step 1: Key Template Differences**\n\n#### ML/AI Conversions\n\n| From → To | Page Change | Key Adjustments |\n|-----------|-------------|------------------|\n| NeurIPS → ICML | 9 → 8 pages | Cut 1 page, add Broader Impact if missing |\n| ICML → ICLR | 8 → 9 pages | Can expand experiments, add LLM disclosure |\n| NeurIPS → ACL | 9 → 8 pages | Restructure for NLP conventions, add Limitations |\n| ICLR → AAAI | 9 → 7 pages | Significant cuts needed, strict style adherence |\n| Any → COLM | varies → 9 | Reframe for language model focus |\n\n#### Systems Conference Conversions\n\n| From → To | Key Adjustments |\n|-----------|------------------|\n| ML → OSDI/NSDI | USENIX template; add system design + implementation sections |\n| ML → ASPLOS/SOSP | ACM SIGPLAN template; reframe for systems contribution |\n| OSDI ↔ SOSP | USENIX ↔ ACM SIGPLAN; similar page limits, different style files |\n\n**Full conversion guide**: See [references/systems-conferences.md](references/systems-conferences.md#format-conversion-ml-venue--systems-venue) for detailed guidance.\n\n**Step 2: Content Migration (NOT Template Merge)**\n\n**Never copy LaTeX preambles between templates.** Instead:\n\n```bash\n# 1. Start fresh with target template\ncp -r templates/icml2026/ new_submission/\n\n# 2. Copy ONLY content sections from old paper\n# - Abstract text\n# - Section content (between \\section{} commands)\n# - Figures and tables\n# - Bibliography entries\n\n# 3. Paste into target template structure\n```\n\n**Step 3: Adjusting for Page Limits**\n\nWhen cutting pages (e.g., NeurIPS 9 → AAAI 7):\n- Move detailed proofs to appendix\n- Condense related work (cite surveys instead of individual papers)\n- Combine similar experiments into unified tables\n- Use smaller figure sizes with subfigures\n- Tighten writing: eliminate redundancy, use active voice\n\nWhen expanding (e.g., ICML 8 → ICLR 9):\n- Add ablation studies reviewers requested\n- Expand limitations discussion\n- Include additional baselines\n- Add qualitative examples\n\n**Step 4: Conference-Specific Adjustments**\n\n#### ML/AI Venues\n\n| Target Venue | Required Additions |\n|--------------|-------------------|\n| **ICML** | Broader Impact Statement (after conclusion) |\n| **ICLR** | LLM usage disclosure, reciprocal reviewing agreement |\n| **ACL/EMNLP** | Limitations section (mandatory), Ethics Statement |\n| **AAAI** | Strict adherence to style file (no modifications) |\n| **NeurIPS** | Paper checklist (appendix), lay summary if accepted |\n\n#### Systems Venues\n\n| Target Venue | Key Required Additions |\n|--------------|------------------------|\n| **OSDI 2026** | Choose Research or Operational Systems track; anonymize system name |\n| **NSDI 2027** | Strong Introduction (prescreening); choose track |\n| **ASPLOS 2027** | Self-contained first 2 pages (rapid review); resubmission note |\n| **SOSP 2026** | ACM SIGPLAN format; optional Artifact Evaluation |\n\n**Full requirements**: See [references/systems-conferences.md](references/systems-conferences.md#submission-rules) for details.\n\n**Step 5: Update References**\n\n```latex\n% Remove self-citations that reveal identity (for blind review)\n% Update any \"under review\" citations to published versions\n% Add new relevant work published since last submission\n```\n\n**Step 6: Addressing Previous Reviews**\n\nWhen resubmitting after rejection:\n- **Do** address reviewer concerns in the new version\n- **Do** add experiments/clarifications reviewers requested\n- **Don't** include a \"changes from previous submission\" section (blind review)\n- **Don't** reference the previous submission or reviews\n\n**Common Conversion Pitfalls:**\n- ❌ Copying `\\usepackage` commands (causes conflicts)\n- ❌ Keeping old conference header/footer commands\n- ❌ Forgetting to update `\\bibliography{}` path\n- ❌ Missing conference-specific required sections\n- ❌ Exceeding page limit after format change\n\n---\n\n## Citation Workflow (Hallucination Prevention)\n\n**⚠️ CRITICAL**: AI-generated citations have ~40% error rate. **Never write BibTeX from memory.**\n\n### The Golden Rule\n\n```\nIF you cannot programmatically fetch a citation:\n    → Mark it as [CITATION NEEDED] or [PLACEHOLDER - VERIFY]\n    → Tell the scientist explicitly\n    → NEVER invent a plausible-sounding reference\n```\n\n### Workflow 2: Adding Citations\n\n```\nCitation Verification (MANDATORY for every citation):\n- [ ] Step 1: Search using Exa MCP or Semantic Scholar API\n- [ ] Step 2: Verify paper exists in 2+ sources (Semantic Scholar + arXiv/CrossRef)\n- [ ] Step 3: Retrieve BibTeX via DOI (programmatically, not from memory)\n- [ ] Step 4: Verify the claim you're citing actually appears in the paper\n- [ ] Step 5: Add verified BibTeX to bibliography\n- [ ] Step 6: If ANY step fails → mark as placeholder, inform scientist\n```\n\n**Step 0: Use Exa MCP for Initial Search (Recommended)**\n\nIf Exa MCP is installed, use it to find relevant papers:\n```\nSearch: \"RLHF language model alignment 2023\"\nSearch: \"sparse autoencoders interpretability\"\nSearch: \"attention mechanism transformers Vaswani\"\n```\n\nThen verify each result with Semantic Scholar and fetch BibTeX via DOI.\n\n**Step 1: Search Semantic Scholar**\n\n```python\nfrom semanticscholar import SemanticScholar\n\nsch = SemanticScholar()\nresults = sch.search_paper(\"attention mechanism transformers\", limit=5)\nfor paper in results:\n    print(f\"{paper.title} - {paper.paperId}\")\n    print(f\"  DOI: {paper.externalIds.get('DOI', 'N/A')}\")\n```\n\n**Step 2: Verify Existence**\n\nConfirm paper appears in at least two sources (Semantic Scholar + CrossRef/arXiv).\n\n**Step 3: Retrieve BibTeX via DOI**\n\n```python\nimport requests\n\ndef doi_to_bibtex(doi: str) -> str:\n    \"\"\"Get verified BibTeX from DOI via CrossRef.\"\"\"\n    response = requests.get(\n        f\"https://doi.org/{doi}\",\n        headers={\"Accept\": \"application/x-bibtex\"}\n    )\n    response.raise_for_status()\n    return response.text\n\n# Example\nbibtex = doi_to_bibtex(\"10.48550/arXiv.1706.03762\")\nprint(bibtex)\n```\n\n**Step 4: Verify Claims**\n\nBefore citing for a specific claim, access the paper and confirm the attributed claim actually appears.\n\n**Step 5: Handle Failures Explicitly**\n\nIf you cannot verify a citation at ANY step:\n\n```latex\n% Option 1: Explicit placeholder\n\\cite{PLACEHOLDER_smith2023_verify}  % TODO: Could not verify - scientist must confirm\n\n% Option 2: Note in text\n... as shown in prior work [CITATION NEEDED - could not verify Smith et al. 2023].\n```\n\n**Always inform the scientist:**\n> \"I could not verify the following citations and have marked them as placeholders:\n> - Smith et al. 2023 on reward hacking - could not find in Semantic Scholar\n> - Jones 2022 on scaling laws - found similar paper but different authors\n> Please verify these before submission.\"\n\n### Summary: Citation Rules\n\n| Situation | Action |\n|-----------|--------|\n| Found paper, got DOI, fetched BibTeX | ✅ Use the citation |\n| Found paper, no DOI | ✅ Use arXiv BibTeX or manual entry from paper |\n| Paper exists but can't fetch BibTeX | ⚠️ Mark placeholder, inform scientist |\n| Uncertain if paper exists | ❌ Mark `[CITATION NEEDED]`, inform scientist |\n| \"I think there's a paper about X\" | ❌ **NEVER cite** - search first or mark placeholder |\n\n**🚨 NEVER generate BibTeX from memory—always fetch programmatically. 🚨**\n\nSee [references/citation-workflow.md](references/citation-workflow.md) for complete API documentation.\n\n---\n\n## Common Issues and Solutions\n\n**Issue: Abstract too generic**\n\nDelete first sentence if it could be prepended to any ML paper. Start with your specific contribution.\n\n**Issue: Introduction exceeds 1.5 pages**\n\nSplit background into Related Work. Front-load contribution bullets. Methods should start by page 2-3.\n\n**Issue: Experiments lack explicit claims**\n\nAdd sentence before each experiment: \"This experiment tests whether [specific claim]...\"\n\n**Issue: Reviewers find paper hard to follow**\n\n- Add explicit signposting: \"In this section, we show X\"\n- Use consistent terminology throughout\n- Include figure captions that stand alone\n\n**Issue: Missing statistical significance**\n\nAlways include:\n- Error bars (specify: std dev or std error)\n- Number of runs\n- Statistical tests if comparing methods\n\n---\n\n## Reviewer Evaluation Criteria\n\nReviewers assess papers on four dimensions:\n\n| Criterion | What Reviewers Look For |\n|-----------|------------------------|\n| **Quality** | Technical soundness, well-supported claims |\n| **Clarity** | Clear writing, reproducible by experts |\n| **Significance** | Community impact, advances understanding |\n| **Originality** | New insights (doesn't require new method) |\n\n**Scoring (NeurIPS 6-point scale):**\n- 6: Strong Accept - Groundbreaking, flawless\n- 5: Accept - Technically solid, high impact\n- 4: Borderline Accept - Solid, limited evaluation\n- 3: Borderline Reject - Solid but weaknesses outweigh\n- 2: Reject - Technical flaws\n- 1: Strong Reject - Known results or ethics issues\n\nSee [references/reviewer-guidelines.md](references/reviewer-guidelines.md) for detailed reviewer instructions.\n\n---\n\n## Tables and Figures\n\n### Tables\n\nUse `booktabs` LaTeX package for professional tables:\n\n```latex\n\\usepackage{booktabs}\n\\begin{tabular}{lcc}\n\\toprule\nMethod & Accuracy ↑ & Latency ↓ \\\\\n\\midrule\nBaseline & 85.2 & 45ms \\\\\n\\textbf{Ours} & \\textbf{92.1} & 38ms \\\\\n\\bottomrule\n\\end{tabular}\n```\n\n**Rules:**\n- Bold best value per metric\n- Include direction symbols (↑ higher is better, ↓ lower is better)\n- Right-align numerical columns\n- Consistent decimal precision\n\n### Figures\n\n- **Vector graphics** (PDF, EPS) for all plots and diagrams\n- **Raster** (PNG 600 DPI) only for photographs\n- Use **colorblind-safe palettes** (Okabe-Ito or Paul Tol)\n- Verify **grayscale readability** (8% of men have color vision deficiency)\n- **No title inside figure**—the caption serves this function\n- **Self-contained captions**—reader should understand without main text\n\n---\n\n## Citing AI Research Skills\n\nIf this library helped with your research — whether for training pipelines, evaluation, paper writing, or any other skill — please consider citing it in your acknowledgments or references:\n\n```bibtex\n@software{ai_research_skills,\n  title     = {AI Research Skills Library},\n  author    = {{Orchestra Research}},\n  year      = {2025},\n  url       = {https://github.com/orchestra-research/AI-research-SKILLs},\n  note      = {Open-source skills library enabling AI agents to autonomously conduct AI research}\n}\n```\n\nA brief mention in your **Acknowledgments** section is also welcome:\n\n```latex\n\\section*{Acknowledgments}\nWe used the AI Research Skills Library~\\cite{ai_research_skills} for [experiment orchestration / evaluation / ...].\n```\n\n---\n\n## References & Resources\n\n### Reference Documents (Deep Dives)\n\n| Document | Contents |\n|----------|----------|\n| [writing-guide.md](references/writing-guide.md) | Gopen & Swan 7 principles, Ethan Perez micro-tips, word choice |\n| [citation-workflow.md](references/citation-workflow.md) | Citation APIs, Python code, BibTeX management |\n| [checklists.md](references/checklists.md) | NeurIPS 16-item, ICML, ICLR, ACL requirements |\n| [reviewer-guidelines.md](references/reviewer-guidelines.md) | Evaluation criteria, scoring, rebuttals |\n| [systems-conferences.md](references/systems-conferences.md) | OSDI/NSDI/ASPLOS/SOSP deadlines, tracks, rules |\n| [sources.md](references/sources.md) | Complete bibliography of all sources |\n\n### LaTeX Templates\n\nTemplates in `templates/` directory:\n- **ML/AI**: ICML 2026, ICLR 2026, NeurIPS 2025, ACL/EMNLP, AAAI 2026, COLM 2025\n- **Systems**: OSDI 2026, NSDI 2027, ASPLOS 2027, SOSP 2026\n\n**Compiling to PDF:**\n- **VS Code/Cursor**: Install LaTeX Workshop extension + TeX Live → Save to auto-compile\n- **Command line**: `latexmk -pdf main.tex` or `pdflatex` + `bibtex` workflow\n- **Online**: Upload to [Overleaf](https://overleaf.com)\n\nSee [templates/README.md](templates/README.md) for detailed setup instructions.\n\n### Key External Sources\n\n**Writing Philosophy:**\n- [Neel Nanda: How to Write ML Papers](https://www.alignmentforum.org/posts/eJGptPbbFPZGLpjsp/highly-opinionated-advice-on-how-to-write-ml-papers) - Narrative, \"What/Why/So What\"\n- [Farquhar: How to Write ML Papers](https://sebastianfarquhar.com/on-research/2024/11/04/how_to_write_ml_papers/) - 5-sentence abstract\n- [Gopen & Swan: Science of Scientific Writing](https://cseweb.ucsd.edu/~swanson/papers/science-of-writing.pdf) - 7 reader expectation principles\n- [Lipton: Heuristics for Scientific Writing](https://www.approximatelycorrect.com/2018/01/29/heuristics-technical-scientific-writing-machine-learning-perspective/) - Word choice\n- [Perez: Easy Paper Writing Tips](https://ethanperez.net/easy-paper-writing-tips/) - Micro-level clarity\n\n**APIs:** [Semantic Scholar](https://api.semanticscholar.org/api-docs/) | [CrossRef](https://www.crossref.org/documentation/retrieve-metadata/rest-api/) | [arXiv](https://info.arxiv.org/help/api/basics.html)\n\n**ML/AI Venues:** [NeurIPS](https://neurips.cc/Conferences/2025/PaperInformation/StyleFiles) | [ICML](https://icml.cc/Conferences/2025/AuthorInstructions) | [ICLR](https://iclr.cc/Conferences/2026/AuthorGuide) | [ACL](https://github.com/acl-org/acl-style-files)\n\n**Systems Venues:** [OSDI 2026](https://www.usenix.org/conference/osdi26/call-for-papers) | [NSDI 2027](https://www.usenix.org/conference/nsdi27/call-for-papers) | [ASPLOS 2027](https://www.asplos-conference.org/asplos2026/call-for-papers-asplos27/) | [SOSP 2026](https://sigops.org/s/conferences/sosp/2026/cfp.html)","author":"@OpenRaiser","ownerProfile":null,"authorContacts":null,"sourceUrl":"https://github.com/OpenRaiser/NanoResearch/tree/main/skills/vendor-ai-research/ml-paper-writing","license":"MIT","category":"writing","lang":"en","tokens":9448,"stars":0,"calls30d":1,"claimed":false,"visibility":"public","origin":"crawler","version":"0.1.0","createdAt":"2026-08-22","updatedAt":"2026-08-22","files":[{"path":"references/checklists.md","size":17513,"sha256":"7426b1a12cc6eec43ae78fc605a25d661f52ef8d9464611519750760477ae9ae"},{"path":"references/citation-workflow.md","size":15167,"sha256":"067a3b02daa8b4d0f3238e64d34f471bb359b96e75ddce8fa962aaf5e431e7ed"},{"path":"references/reviewer-guidelines.md","size":15237,"sha256":"d9768932a943bfb32b7d604a6248764765d933bf7ab98e5f5d5367ef187fa522"},{"path":"references/sources.md","size":8880,"sha256":"4344bfe88da6013cc8d3004d8b5480f189104450621dd2fdf77b2aeef28480dc"},{"path":"references/systems-conferences.md","size":10256,"sha256":"7e0d960d5654efefa0e2c757c968db0814ccc4ec60ddf37a3e3d8344065f02d0"},{"path":"references/writing-guide.md","size":16297,"sha256":"ed5ff6960a04bd385b6a28577a26428056e35920001b1916240a4eb563f54709"},{"path":"templates/aaai2026/aaai2026.bib","size":4766,"sha256":"d8fcf3dc09b9d489aeff13631174c5998a48cb0d0800ac8a00a2f7bdbc40295b"},{"path":"templates/aaai2026/aaai2026.bst","size":30207,"sha256":"ac26e2c66047435c0ed25f21ae36ad42d731cf3d794c4a8b5f05a62141a27294"},{"path":"templates/aaai2026/aaai2026.sty","size":11802,"sha256":"a39f1866a04dd1e2603613c876fa446aaea2c2f3e34d02be868fd21520bfade5"},{"path":"templates/aaai2026/aaai2026-unified-supp.tex","size":4548,"sha256":"35adcff419efc25a032140c520d40520d0d0fc69123e9d8e38ad161c40ad07b7"},{"path":"templates/aaai2026/aaai2026-unified-template.tex","size":63140,"sha256":"bed12c50b5e027fd88097d238ec4e7ebf1ae7b450cb06d6df7c8ae126a620aea"},{"path":"templates/aaai2026/README.md","size":17987,"sha256":"ee2c61a8b06e1471c0df7c774074d2ff1be824e6377a9e38f6adca5c68ddbb60"},{"path":"templates/acl/acl_latex.tex","size":14533,"sha256":"339c9ee9705c1767d44ef24b85365c0bb8619ecc3fcf66172bf1356292389614"},{"path":"templates/acl/acl_lualatex.tex","size":3050,"sha256":"0d9987ba833331a996f9abcd1a03eebba7d7ae331145793e7ddb6b5ae8db27b3"},{"path":"templates/acl/acl_natbib.bst","size":45186,"sha256":"e332fd51dcea48e2a8a89754892c3cb99674a1cd70b527b661e9aaffc235e83c"},{"path":"templates/acl/acl.sty","size":11615,"sha256":"19dfeddc2c0e448f3926a0bef048a9db3f3611b46265b760caabd7ada4f361de"},{"path":"templates/acl/anthology.bib.txt","size":1169,"sha256":"2b78d2d9aeda62e14c4e46099e8225b5fc116387d8e0a54aad776485e249ceff"},{"path":"templates/acl/custom.bib","size":2071,"sha256":"d76ccb30ddceb70c9e1ad0be3f43dfe301ad5765aab2c960fc830ef67bf8232a"},{"path":"templates/acl/formatting.md","size":17923,"sha256":"9e004a136c5dd43300d97e5bef5eb3a77d0e2a2d3502f0f2436ec011d1c49e9c"},{"path":"templates/acl/README.md","size":2126,"sha256":"e55608f9bc0b564f58d864d43197547785ef021c3ec1c5f0a6d2057aa615681e"},{"path":"templates/asplos2027/main.tex","size":15845,"sha256":"4a1837ef362f6d9dfc7bd65342daeed76991f766cb865946c605ab6f2c9224a9"},{"path":"templates/asplos2027/references.bib","size":5172,"sha256":"bb91a9682e9039be84b7ad5dfa319f126ad1d739b4ebf7f02268e70f3a5ef6d8"},{"path":"templates/colm2025/README.md","size":51,"sha256":"7c2c585d565482357dffdf499b567929e07a9f09619608c19ce9eb2984697ea1"},{"path":"templates/README.md","size":11513,"sha256":"9cb5081dde7b2dcf9dd4a1be8dc18762c01c9836767b56a1e7b2f2bad0e7c057"}],"requires":{"mcp":[],"tools":[]},"safety":{"flags":[],"scannedAt":"2026-08-22","hasScripts":false,"networkEndpoints":["aaai.org","acl-org.github.io","aclanthology.org","aclrollingreview.org","aclweb.org","apastyle.apa.org","api.crossref.org","api.semanticscholar.org","arxiv.org","billf.mit.edu","bounded-regret.ghost.io","byteiota.com","citely.ai","cljournal.org","cn.overleaf.com","colmweb.org","cseweb.ucsd.edu","ctan.org","docs.openalex.org","doi.org","dx.doi.org","ethanperez.net","export.arxiv.org","git.overleaf.com","grigorisg9gr.github.io","heptapod.host","iclr.cc","icml.cc","info.arxiv.org","jfly.uni-koeln.de","jsteinhardt.stat.berkeley.edu","karpathy.github.io","mcp.exa.ai","neal.ctstateu.edu","neurips.cc","overleaf.com","pmc.ncbi.nlm.nih.gov","purl.org","reciteworks.com","science.sciencemag.org","sebastianfarquhar.com","sigops.org","tex.stackexchange.com","texblog.org","titlecaseconverter.com","www.aclweb.org","www.acm.org","www.alignmentforum.org","www.ams.org","www.approximatelycorrect.com","www.asplos-conference.org","www.cas.usf.edu","www.classroom.net","www.crossref.org","www.crowl.org","www.enago.com","www.jmlr.org","www.latex-project.org","www.nasa.gov","www.ncbi.nlm.nih.gov","www.nlc-bnc.ca","www.overleaf.com","www.sciencedirect.com","www.tug.org","www.usenix.org"]}}