ml-paper-writing
Write publication-ready ML/AI papers for NeurIPS, ICML, ICLR, ACL, AAAI, COLM. Use when drafting papers from research repos, structuring arguments, verifying citations, or preparing camera-ready submissions. For systems venues (OSDI, NSDI, ASPLOS, SOSP), use systems-paper-writing instead.
npx skills add Orchestra-Research/AI-Research-SKILLs --skill ml-paper-writing --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Writes publication-ready ML/AI papers for top conferences, guiding the agent to draft complete first versions from a research repo, verify citations, and prepare camera-ready submissions. It cautions against hallucinating citations and enforces programmatic citation verification. It directs the agent to search literature, structure the narrative around a single contribution, and deliver drafts with iterative refinement.
How it works
- Start from a research repository to understand structure, readme, results, and configurations.
- Deliver a complete first draft when the main contribution is clear; otherwise draft with flagged uncertainties.
- Search literature using web and APIs to locate relevant citations; verify each citation programmatically and fetch BibTeX via DOI; if verification fails, insert a placeholder and explicitly mark it as needing verification.
- Proactively draft across sections (abstract, introduction, methods, experiments, related work, limitations) and present for feedback, iterating based on scientist input.
- Use checklists and narrative framing: define a one-sentence contribution, craft Figure 1, write a structured abstract (5-sentence formula), and ensure the story (What/Why/So What) is explicit.
- Avoid hallucinations: never generate BibTeX entries from memory; use verification workflow and placeholders when necessary.
When to use it
Use when starting from a research repo to write a paper, drafting or revising sections, finding and verifying citations, formatting for submission, resubmitting to different venues, or iterating with scientist feedback. It emphasizes delivering a complete draft rather than blocking for every decision, and only asks for human input when critical framing decisions are required.
What it can touch
- Tools declared: claude-code, codex
- Requires: semanticscholar, arxiv, habanero, requests
- Scripts and templates referenced include LaTeX-related processes, figures, and the draft structure (abstract, introduction, methods, experiments, related work, limitations, checklist)
Caveats
- Emphasizes that citations must be verified programmatically; placeholders are used when verification isn’t possible.
- The approach centers on delivering a coherent narrative with a single contribution; if uncertain, it flags unresolved aspects rather than fabricating conclusions.
# ML Paper Writing for Top AI Conferences Expert-level guidance for writing publication-ready papers targeting **NeurIPS, ICML, ICLR, ACL, AAAI, COLM**. This skill combines writing philosophy from top researchers (Nanda, Farquhar, Karpathy, Lipton, Steinhardt) with practical tools: LaTeX templates, citation verification APIs, and conference checklists. **For systems venues (OSDI, NSDI, ASPLOS, SOSP)**, use the [systems-paper-writing](../systems-paper-writing/) skill, which provides paragraph-level structural blueprints, writing patterns, venue-specific checklists, and LaTeX templates for systems conferences. ## Core Philosophy: Collaborative Writing **Paper writing is collaborative, but Claude should be proactive in delivering drafts.** The typical workflow starts with a research repository containing code, results, and experimental artifacts. Claude's role is to: 1. **Understand the project** by exploring the repo, results, and existing documentation 2. **Deliver a complete first draft** when confident about the contribution 3. **Search literature** using web search and APIs to find relevant citations 4. **Refine through feedback cycles** when the scientist provides input 5. **Ask
- Core Philosophy: Collaborative Writing
- ⚠️ CRITICAL: Never Hallucinate Citations
- The Problem
- The Rule
- When You Can't Verify a Citation
- Recommended: Install Exa MCP for Paper Search
- Workflow 0: Starting from a Research Repository
- When to Use This Skill
- Balancing Proactivity and Collaboration
- The Narrative Principle
- Paper Structure Workflow
- Workflow 1: Writing a Complete Paper (Iterative)
- Writing Philosophy for Top ML Conferences
- The Sources Behind This Guidance
claude mcp add exa -- npx -y mcp-remote "https://mcp.exa.ai/mcp" Understand project structure ls -la find . -name "*.py" | head -20 find . -name "*.md" -o -name "*.txt" | xargs grep -l -i "result\|conclusion\|finding" Find existing citations grep -r "arxiv\|doi\|cite" --include="*.md" --include="*.bib" --include="*.py" find . -name "*.bib" Create your paper directory with the complete template cp -r templates/neurips2025/ ~/papers/my-new-paper/
What does the ml-paper-writing skill do?
Write publication-ready ML/AI papers for NeurIPS, ICML, ICLR, ACL, AAAI, COLM. Use when drafting papers from research repos, structuring arguments, verifying citations, or preparing camera-ready submissions. For systems venues (OSDI, NSDI, ASPLOS, SOSP), use systems-paper-writing instead.
How do I install it?
Run `npx skills add Orchestra-Research/AI-Research-SKILLs --skill ml-paper-writing --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From Orchestra-Research/AI-Research-SKILLs, a repository with 11,391 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
