ml-paper-writing
Write publication-ready ML/AI/Systems papers for NeurIPS, ICML, ICLR, ACL, AAAI, COLM, OSDI, NSDI, ASPLOS, SOSP. Use when drafting papers from research repos, structuring arguments, verifying citations, or preparing camera-ready submissions. Includes LaTeX templates, reviewer guidelines, and citation verification workflows.
npx skills add OpenRaiser/NanoResearch --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
Guides an AI to produce publication-ready ML/AI/Systems papers for major conferences by combining writing philosophy with practical tooling, templates, and citation workflows. It emphasizes delivering a complete first draft when the repository signals a clear contribution, performing literature search with verification, and iterating through feedback cycles. It also provides a structured workflow from understanding a repository to drafting sections and preparing camera-ready submissions.
How it works
The skill instructs the agent to:
- Start from a research repo, understand structure, README, results, configurations, and cited papers; identify main contribution and potential outline.
- Deliver a complete first draft if the contribution is clear, otherwise draft sections with explicit uncertainties.
- Search for related literature using web/API tools, verify citations programmatically, and fetch BibTeX via DOI; mark unknowns with explicit placeholders when verification fails.
- Draft core sections autonomously (Abstract, Introduction, Methods, Experiments, Related Work, Limitations) with guidance to include required details (e.g., hyperparameters, compute, seeds) and to structure arguments around a single contribution.
- Use LaTeX templates and conference checklists, and ensure the narrative centers on a focused contribution with supporting evidence.
- Iterate: present the draft for feedback, flag uncertainties, and revise accordingly.
When to use it
Use this skill when:
- Starting from a research repo to write a paper
- Drafting or revising specific sections
- Finding and verifying citations for related work
- Formatting for conference submission
- Iterating on drafts with scientist feedback
What it can touch
Not applicable in this summary; the skill references tools for literature search and citation verification (e.g., semanticscholar, arxiv, habanero, requests) and commands for citation workflows are described within the skill.
Caveats
- Never hallucinate citations; always verify programmatically and mark placeholders if verification fails.
- Do not generate BibTeX entries from memory; fetch them via verification workflow.
- Focus on a single, clearly stated contribution and a coherent narrative; avoid generic openings.
- The workflow recommends delivering a complete draft when the repo clearly supports a contribution and iterating from there.
# ML Paper Writing for Top AI & Systems Conferences Expert-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. ## 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 for clarification** only when genuinely uncertain about key decisions **Key Principle**: Be proactive. If the repo and results are clear, deliver a full draft. Don't block waiting for f
- 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/Systems papers for NeurIPS, ICML, ICLR, ACL, AAAI, COLM, OSDI, NSDI, ASPLOS, SOSP. Use when drafting papers from research repos, structuring arguments, verifying citations, or preparing camera-ready submissions. Includes LaTeX templates, reviewer guidelines, and citation verification workflows.
How do I install it?
Run `npx skills add OpenRaiser/NanoResearch --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 OpenRaiser/NanoResearch, a repository with 1,480 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.
