mcpField
M
ml-paper-writing

ml-paper-writing

github.com/kalarislabsDocuments7770 installsUpdated 4d ago
Repository

About ml-paper-writing

ml-paper-writing guides researchers and Claude through drafting and revising papers for major ML and AI conferences. It combines a repository-to-draft workflow, venue guidance, LaTeX templates, and programmatic citation verification.

Key features

  1. 01Guidance for major ML and AI conferences
  2. 02Research-repository exploration workflow
  3. 03Section-by-section drafting and revision steps
  4. 04LaTeX templates and venue requirements
  5. 05Citation search and verification safeguards

Use cases

  1. 01Turn research code and results into a paper draft
  2. 02Revise sections using scientist feedback
  3. 03Find and verify related-work citations
  4. 04Adapt a paper for another conference venue

MCP support

The skill recommends Exa MCP for real-time academic paper searches. It also describes verifying search results with the Semantic Scholar API and fetching BibTeX by DOI.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/kalarislabs/research-agent-skills --skill ml-paper-writing

After installing, type/ml-paper-writingin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
checklists.md
citation-workflow.md
from-research-repo.md
issues-reviewers-figures.md
latex-templates-and-conversion.md
reviewer-guidelines.md
sources.md
writing-guide.md
writing-philosophy.md
templates/aaai2026/
aaai2026-unified-supp.tex
aaai2026-unified-template.tex
aaai2026.bib
aaai2026.bst
aaai2026.sty
README.md
templates/acl/
acl_latex.tex
acl_lualatex.tex
acl_natbib.bst
acl.sty
anthology.bib.txt
custom.bib
formatting.md
README.md
templates/colm2025/
colm2025_conference.bib
colm2025_conference.bst
colm2025_conference.sty
colm2025_conference.tex
fancyhdr.sty
math_commands.tex
natbib.sty

Details

From the project README

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 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 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 feedback on every section—scientists are busy. Produce something concrete they can react to, then iterate based on their response.


⚠️ CRITICAL: Never Hallucinate Citations

This is the most important rule in academic writing with AI assistance.

The Problem

AI-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.

The Rule

NEVER generate BibTeX entries from memory. ALWAYS fetch programmatically.

Action✅ Correct❌ Wrong
Adding a citationSearch API → verify → fetch BibTeXWrite BibTeX from memory
Uncertain about a paperMark as [CITATION NEEDED]Guess the reference
Can't find exact paperNote: "placeholder - verify"Invent similar-sounding paper
When You Can't Verify a Citation

If you cannot programmatically verify a citation, you MUST:

% EXPLICIT PLACEHOLDER - requires human verification
\cite{PLACEHOLDER_author2024_verify_this}  % TODO: Verify this citation exists

Always tell the scientist: "I've marked [X] citations as placeholders that need verification. I could not confirm these papers exist."

Recommended: Install Exa MCP for Paper Search

For the best paper search experience, install Exa MCP which provides real-time academic search:

Claude Code:

claude mcp add exa -- npx -y mcp-remote "https://mcp.exa.ai/mcp"

Cursor / VS Code (add to MCP settings):

{
  "mcpServers": {
    "exa": {
      "type": "http",
      "url": "https://mcp.exa.ai/mcp"
    }
  }
}

Exa MCP enables searches like:

  • "Find papers on RLHF for language models published after 2023"
  • "Search for transformer architecture papers by Vaswani"
  • "Get recent work on sparse autoencoders for interpretability"

Then verify results with Semantic Scholar API and fetch BibTeX via DOI.


Workflow 0: Starting from a Research Repository

When the user points you at a code repository (results, configs, logs) instead of a draft, follow the repository-exploration workflow in references/from-research-repo.md to extract the contribution, results and existing citations before writing.

When to Use This Skill

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
  • Resubmitting to a different venue (format conversion)
  • Iterating on drafts with scientist feedback

Always remember: First drafts are starting points for discussion, not final outputs.


Balancing Proactivity and Collaboration

Default: Be proactive. Deliver drafts, then iterate.

Confidence LevelAction
High (clear repo, obvious contribution)Write full draft, deliver, iterate on feedback
Medium (some ambiguity)Write draft with flagged uncertainties, continue
Low (major unknowns)Ask 1-2 targeted questions, then draft

Draft first, ask with the draft (not before):

SectionDraft AutonomouslyFlag With Draft
AbstractYes"Framed contribution as X—adjust if needed"
IntroductionYes"Emphasized problem Y—correct if wrong"
MethodsYes"Included details A, B, C—add missing pieces"
ExperimentsYes"Highlighted results 1, 2, 3—reorder if needed"
Related WorkYes"Cited papers X, Y, Z—add any I missed"

Only block for input when:

  • Target venue is unclear (affects page limits, framing)
  • Multiple contradictory framings seem equally valid
  • Results seem incomplete or inconsistent
  • Explicit request to review before continuing

Don't block for:

  • Word choice decisions
  • Section ordering
  • Which specific results to show (make a choice, flag it)
  • Citation completeness (draft with what you find, note gaps)

The Narrative Principle

The single most critical insight: Your paper is not a collection of experiments—it's a story with one clear contribution supported by evidence.

Every successful ML paper centers on what Neel Nanda calls "the narrative": a short, rigorous, evidence-based technical story with a takeaway readers care about.

Three Pillars (must be crystal clear by end of introduction):

PillarDescriptionExample
The What1-3 specific novel claims within cohesive theme"We prove that X achieves Y under condition Z"
The WhyRigorous empirical evidence supporting claimsStrong baselines, experiments distinguishing hypotheses
The So WhatWhy readers should careConnection to recognized community problems

If you cannot state your contribution in one sentence, you don't yet have a paper.


Paper Structure Workflow

Workflow 1: Writing a Complete Paper (Iterative)

Copy this checklist and track progress. Each step involves drafting → feedback → revision:

Paper Writing Progress:
- [ ] Step 1: Define the one-sentence contribution (with scientist)
- [ ] Step 2: Draft Figure 1 → get feedback → revise
- [ ] Step 3: Draft abstract → get feedback → revise
- [ ] Step 4: Draft introduction → get feedback → revise
- [ ] Step 5: Draft methods → get feedback → revise
- [ ] Step 6: Draft experiments → get feedback → revise
- [ ] Step 7: Draft related work → get feedback → revise
- [ ] Step 8: Draft limitations → get feedback → revise
- [ ] Step 9: Complete paper checklist (required)
- [ ] Step 10: Final review cycle and submission

Step 1: Define the One-Sentence Contribution

This step requires explicit confirmation from the scientist.

Before writing anything, articulate and verify:

  • What is the single thing your paper contributes?
  • What was not obvious or present before your work?

"I propose framing the contribution as: '[one sentence]'. Does this capture what you see as the main takeaway? Should we adjust the emphasis?"

Step 2: Draft Figure 1

Figure 1 deserves special attention—many readers skip directly to it.

  • Convey core idea, approach, or most compelling result
  • Use vector graphics (PDF/EPS for plots)
  • Write captions that stand alone without main text
  • Ensure readability in black-and-white (8% of men have color vision deficiency)

Step 3: Write Abstract (5-Sentence Formula)

From Sebastian Farquhar (DeepMind):

1. What you achieved: "We introduce...", "We prove...", "We demonstrate..."
2. Why this is hard and important
3. How you do it (with specialist keywords for discoverability)
4. What evidence you have
5. Your most remarkable number/result

Delete generic openings like "Large language models have achieved remarkable success..."

Step 4: Write Introduction (1-1.5 pages max)

Must include:

  • 2-4 bullet contribution list (max 1-2 lines each in two-column format)
  • Clear problem statement
  • Brief approach overview
  • Methods should start by page 2-3 maximum

Step 5: Methods Section

Enable reimplementation:

  • Conceptual outline or pseudocode
  • All hyperparameters listed
  • Architectural details sufficient for reproduction
  • Present final design decisions; ablations go in experiments

Step 6: Experiments Section

For each experiment, explicitly state:

  • What claim it supports
  • How it connects to main contribution
  • Experimental setting (details in appendix)
  • What to observe: "the blue line shows X, which demonstrates Y"

Requirements:

  • Error bars with methodology (standard deviation vs standard error)
  • Hyperparameter search ranges
  • Compute infrastructure (GPU type, total hours)
  • Seed-setting methods

Step 7: Related Work

Organize methodologically, not paper-by-paper:

Good: "One line of work uses Floogledoodle's assumption [refs] whereas we use Doobersnoddle's assumption because..."

Bad: "Snap et al. introduced X while Crackle et al. introduced Y."

Cite generously—reviewers likely authored relevant papers.

Step 8: Limitations Section (REQUIRED)

All major conferences require this. Counter-intuitively, honesty helps:

  • Reviewers are instructed not to penalize honest limitation acknowledgment
  • Pre-empt criticisms by identifying weaknesses first
  • Explain why limitations don't undermine core claims

Step 9: Paper Checklist

NeurIPS, ICML, and ICLR all require paper checklists. See references/checklists.md.


Writing Philosophy for Top ML Conferences

Sentence-level clarity, word choice, time allocation and what reviewers actually read are covered in references/writing-philosophy.md. Read it before polishing prose.

Conference Requirements Quick Reference

ML/AI Conferences
ConferencePage LimitExtra for Camera-ReadyKey Requirement
NeurIPS 20259 pages+0Mandatory checklist, lay summary for accepted
ICML 20268 pages+1Broader Impact Statement required
ICLR 20269 pages+1LLM disclosure required, reciprocal reviewing
ACL 20258 pages (long)variesLimitations section mandatory
AAAI 20267 pages+1Strict style file adherence
COLM 20259 pages+1Focus on language models

Systems Conferences (OSDI, NSDI, ASPLOS, SOSP): See the systems-paper-writing skill for page limits, templates, deadlines, and submission rules.

Universal Requirements:

  • Double-blind review (anonymize submissions)
  • References don't count toward page limit
  • Appendices unlimited but reviewers not required to read
  • LaTeX required for all venues

LaTeX Templates: See templates/ directory for all conference templates.


Using LaTeX Templates and Converting Between Venues

Starting a paper from a bundled template (Workflow 4), compiling, template pitfalls, and converting between venues after a rejection (Workflow 3) are covered in references/latex-templates-and-conversion.md. Always copy the complete template directory from templates/ rather than writing LaTeX preambles from memory.

Citation Workflow (Hallucination Prevention)

⚠️ CRITICAL: AI-generated citations have ~40% error rate. Never write BibTeX from memory.

The Golden Rule
IF you cannot programmatically fetch a citation:
    → Mark it as [CITATION NEEDED] or [PLACEHOLDER - VERIFY]
    → Tell the scientist explicitly
    → NEVER invent a plausible-sounding reference
Workflow 2: Adding Citations
Citation Verification (MANDATORY for every citation):
- [ ] Step 1: Search using Exa MCP or Semantic Scholar API
- [ ] Step 2: Verify paper exists in 2+ sources (Semantic Scholar + arXiv/CrossRef)
- [ ] Step 3: Retrieve BibTeX via DOI (programmatically, not from memory)
- [ ] Step 4: Verify the claim you're citing actually appears in the paper
- [ ] Step 5: Add verified BibTeX to bibliography
- [ ] Step 6: If ANY step fails → mark as placeholder, inform scientist

Step 0: Use Exa MCP for Initial Search (Recommended)

If Exa MCP is installed, use it to find relevant papers:

Search: "RLHF language model alignment 2023"
Search: "sparse autoencoders interpretability"
Search: "attention mechanism transformers Vaswani"

Then verify each result with Semantic Scholar and fetch BibTeX via DOI.

Step 1: Search Semantic Scholar

from semanticscholar import SemanticScholar

sch = SemanticScholar()
results = sch.search_paper("attention mechanism transformers", limit=5)
for paper in results:
    print(f"{paper.title} - {paper.paperId}")
    print(f"  DOI: {paper.externalIds.get('DOI', 'N/A')}")

Step 2: Verify Existence

Confirm paper appears in at least two sources (Semantic Scholar + CrossRef/arXiv).

Step 3: Retrieve BibTeX via DOI

import requests

def doi_to_bibtex(doi: str) -> str:
    """Get verified BibTeX from DOI via CrossRef."""
    response = requests.get(
        f"https://doi.org/{doi}",
        headers={"Accept": "application/x-bibtex"}
    )
    response.raise_for_status()
    return response.text

# Example
bibtex = doi_to_bibtex("10.48550/arXiv.1706.03762")
print(bibtex)

Step 4: Verify Claims

Before citing for a specific claim, access the paper and confirm the attributed claim actually appears.

Step 5: Handle Failures Explicitly

If you cannot verify a citation at ANY step:

% Option 1: Explicit placeholder
\cite{PLACEHOLDER_smith2023_verify}  % TODO: Could not verify - scientist must confirm

% Option 2: Note in text
... as shown in prior work [CITATION NEEDED - could not verify Smith et al. 2023].

Always inform the scientist:

"I could not verify the following citations and have marked them as placeholders:

  • Smith et al. 2023 on reward hacking - could not find in Semantic Scholar
  • Jones 2022 on scaling laws - found similar paper but different authors Please verify these before submission."
Summary: Citation Rules
SituationAction
Found paper, got DOI, fetched BibTeX✅ Use the citation
Found paper, no DOI✅ Use arXiv BibTeX or manual entry from paper
Paper exists but can't fetch BibTeX⚠️ Mark placeholder, inform scientist
Uncertain if paper exists❌ Mark [CITATION NEEDED], inform scientist
"I think there's a paper about X"❌ NEVER cite - search first or mark placeholder

🚨 NEVER generate BibTeX from memory—always fetch programmatically. 🚨

See references/citation-workflow.md for complete API documentation.


Troubleshooting, Reviewer Criteria and Figures

Troubleshooting common writing problems, the criteria reviewers score on, and table/figure conventions are in references/issues-reviewers-figures.md.

References & Resources

Reference Documents (Deep Dives)
DocumentContents
writing-guide.mdGopen & Swan 7 principles, Ethan Perez micro-tips, word choice
citation-workflow.mdCitation APIs, Python code, BibTeX management
checklists.mdNeurIPS 16-item, ICML, ICLR, ACL requirements
reviewer-guidelines.mdEvaluation criteria, scoring, rebuttals
sources.mdComplete bibliography of all sources
from-research-repo.mdWorkflow 0: turning a code repository into a paper
writing-philosophy.mdTime allocation, clarity, word choice, what reviewers read
latex-templates-and-conversion.mdTemplate setup, compilation, pitfalls, venue conversion
issues-reviewers-figures.mdCommon issues, reviewer criteria, tables and figures
LaTeX Templates

Templates in templates/ directory:

  • ML/AI: ICML 2026, ICLR 2026, NeurIPS 2025, ACL/EMNLP, AAAI 2026, COLM 2025
  • Systems (OSDI, NSDI, ASPLOS, SOSP): See systems-paper-writing skill

Compiling to PDF:

  • VS Code/Cursor: Install LaTeX Workshop extension + TeX Live → Save to auto-compile
  • Command line: latexmk -pdf main.tex or pdflatex + bibtex workflow
  • Online: Upload to Overleaf

See templates/README.md for detailed setup instructions.

Key External Sources

Writing Philosophy:

APIs: Semantic Scholar | CrossRef | arXiv

ML/AI Venues: NeurIPS | ICML | ICLR | ACL

Systems Venues: See the systems-paper-writing skill for OSDI, NSDI, ASPLOS, SOSP links and guides

Related skills

  • systems-paper-writing: Provides paragraph-level structural blueprints for 10-12 page systems papers targeting OSDI, SOSP, ASPLOS, NSDI, and EuroSys.
  • rebuttal-and-response-to-reviewers: Plan and write responses to peer review, including journal "response to reviewers" letters for revise-and-resubmit, conference rebuttals un…
  • reproducibility-statement: Prepare the reproducibility, transparency and open-science parts of a paper, including data and code availability statements, reproducibili…

Comments

Markdown supported