domains / research / paper-to-slides / paper-slides

paper-slides

Skill card

combined

The two copies are the same skill, but the first adds a material optional style-reference workflow (extract_paper_style.py, strict rules, abort behavior) that the second lacks, while the second adds state persistence (SLIDES_STATE.json), a full phased workflow, and a more complete venue color table. Crowning one would hide a real alternative procedure.

Repositories

RepositoryPath
wanshuiyin/Auto-claude-code-research-in-sleepskills/paper-slides/SKILL.md
brycewang-stanford/Auto-Empirical-Research-Skillsskills/42-wanshuiyin-ARIS/skills/paper-slides/SKILL.md

Other copies

RoleRepositoryPath
peerwanshuiyin/Auto-claude-code-research-in-sleepskills/paper-slides/SKILL.md
peerbrycewang-stanford/Auto-Empirical-Research-Skillsskills/42-wanshuiyin-ARIS/skills/paper-slides/SKILL.md
adapterwanshuiyin/Auto-claude-code-research-in-sleepskills/skills-codex/paper-slides/SKILL.md
adapterwanshuiyin/Auto-claude-code-research-in-sleepskills/skills-codex-gemini-review/paper-slides/SKILL.md
adapterbrycewang-stanford/Auto-Empirical-Research-Skillsskills/42-wanshuiyin-ARIS/skills/skills-codex/paper-slides/SKILL.md
adapterbrycewang-stanford/Auto-Empirical-Research-Skillsskills/42-wanshuiyin-ARIS/skills/skills-codex-gemini-review/paper-slides/SKILL.md

Combined skill

---
name: paper-slides
description: "Generate conference presentation slides (beamer LaTeX → PDF + editable PPTX) from a compiled paper, with speaker notes and full talk script. Use when user says \"做PPT\", \"做幻灯片\", \"make slides\", \"conference talk\", \"presentation slides\", \"生成slides\", \"写演讲稿\", or wants beamer slides for a conference talk."
argument-hint: "[paper-directory-or-talk-length] [— style-ref: <source>]"
allowed-tools: Bash(*), Read, Write, Edit, Grep, Glob, Agent, mcp__codex__codex, mcp__codex__codex-reply
---

# Paper Slides: From Paper to Conference Talk

Generate conference presentation slides from: **$ARGUMENTS**

## Context

This skill runs after Workflow 3 (/paper-writing). It takes a compiled paper and generates a presentation slide deck for conference oral talks, spotlight presentations, or poster lightning talks.

Unlike posters, slides tell a temporal story: each slide builds on the previous one, with progressive revelation of the research narrative.

## Constants

- VENUE = NeurIPS — Target venue, determines color scheme. Supported: NeurIPS, ICML, ICLR, AAAI, ACL, EMNLP, CVPR, ECCV, GENERIC. Override via argument.
- TALK_TYPE = spotlight — Talk format. Options: oral (15-20 min), spotlight (5-8 min), poster-talk (3-5 min), invited (30-45 min).
- TALK_MINUTES = 15 — Talk duration in minutes. Auto-adjusts slide count.
- ASPECT_RATIO = 16:9 — Slide aspect ratio. Options: 16:9, 4:3.
- SPEAKER_NOTES = true — Generate \note{} blocks in beamer and corresponding PPTX notes.
- PAPER_DIR = paper/ — Directory containing the compiled paper.
- OUTPUT_DIR = slides/ — Output directory for all slide files.
- REVIEWER_MODEL = gpt-6-astra — Model used via Codex MCP for slide review.
- AUTO_PROCEED = false — At each checkpoint, always wait for explicit user confirmation.
- COMPILER = latexmk — LaTeX build tool.
- ENGINE = pdflatex — LaTeX engine. Use xelatex for CJK text.

> Override: /paper-slides "paper/" — talk_type: oral, venue: ICML, minutes: 20, aspect: 4:3

## Optional: Style reference (— style-ref: <source>, opt-in)

Default OFF. Only when — style-ref: <source> appears in $ARGUMENTS, run the helper FIRST to extract structural guidance from the reference source.

Resolve the helper via the canonical strict-safe chain. If unresolved, abort because --style-ref cannot be satisfied.

Sources accepted: local TeX dir/file, local PDF, arXiv id, http(s) URL. Overleaf URLs/IDs are rejected — clone via /overleaf-sync setup <id> first and pass the local clone path.

Strict rules:
- Use style_profile.md to align section-budget tendency and theorem-environment density. Talk-type slide count still takes precedence.
- Never copy speaker-note prose, slide titles, or examples from anything reachable through the cache.
- Never pass — style-ref or the cache contents to the reviewer sub-agent.

## Talk Type → Slide Count

| Talk Type | Duration | Slides | Content Depth |
|-----------|----------|:------:|---------------|
| poster-talk | 3-5 min | 5-8 | Problem + 1 method slide + 1 result + conclusion |
| spotlight | 5-8 min | 8-12 | Problem + 2 method + 2 results + conclusion |
| oral | 15-20 min | 15-22 | Full story with motivation, method detail, experiments, analysis |
| invited | 30-45 min | 25-40 | Comprehensive: background, related work, deep method, extensive results, discussion |

## Venue Color Schemes

| Venue | Primary | Accent | Background | Text |
|-------|---------|--------|------------|------|
| NeurIPS | #8B5CF6 | #2563EB | #FFFFFF | #1E1E1E |
| ICML | #DC2626 | #1D4ED8 | #FFFFFF | #1E1E1E |
| ICLR | #059669 | #0284C7 | #FFFFFF | #1E1E1E |
| CVPR | #2563EB | #7C3AED | #FFFFFF | #1E1E1E |
| GENERIC | #334155 | #2563EB | #FFFFFF | #1E1E1E |

## State Persistence (Compact Recovery)

Persist state to slides/SLIDES_STATE.json after each phase:

```json
{
  "phase": 3,
  "venue": "NeurIPS",
  "talk_type": "spotlight",
  "slide_count": 10,
  "codex_thread_id": "019cfcf4-...",
  "status": "in_progress",
  "timestamp": "2026-03-18T15:00:00"
}
```

On startup: if SLIDES_STATE.json exists with "status": "in_progress" and within 24h → resume. Otherwise → fresh start.

## Workflow

### Phase 0: Input Validation & Setup

1. Check prerequisites: which pdflatex && which latexmk
2. Verify paper exists: ls $PAPER_DIR/main.tex || ls $PAPER_DIR/main.pdf; ls $PAPER_DIR/sections/*.tex; ls $PAPER_DIR/figures/
3. Backup existing slides: if slides/ exists, copy to slides-backup-{timestamp}/
4. Create output directory: mkdir -p slides/figures
5. Detect CJK: if paper contains Chinese/Japanese/Korean, set ENGINE to xelatex
6. Determine slide count: from TALK_TYPE and TALK_MINUTES using the table above
7. Check for resume: read slides/SLIDES_STATE.json if it exists

State: Write SLIDES_STATE.json with phase: 0.

### Phase 1: Content Extraction & Slide Outline

Read paper/sections/*.tex and build a slide-by-slide outline.

Slide template by talk type:

#### Oral (15-22 slides)

| Slide | Purpose | Content Source | Figure? |
|:-----:|---------|----------------|:-------:|
| 1 | Title | Paper metadata | No |
| 2 | Outline | Section headers | No |
| 3-4 | Motivation & Problem | Introduction | Optional |
| 5 | Key Insight | Introduction (contribution) | No |
| 6-9 | Method | Method section | Yes (hero figure) |
| 10-14 | Results | Experiments | Yes (per slide) |
| 15-16 | Analysis / Ablations | Experiments | Yes |
| 17 | Limitations | Conclusion | No |
| 18 | Conclusion / Takeaway | Conclusion | No |
| 19 | Thank You + QR | — | QR code |

#### Spotlight (8-12 slides)

| Slide | Purpose | Content Source | Figure? |
|:-----:|---------|----------------|:-------:|
| 1 | Title | Paper metadata | No |
| 2-3 | Problem + Why It Matters | Introduction | Optional |
| 4 | Key Insight | Contribution | No |
| 5-6 | Method | Method (condensed) | Yes (hero) |
| 7-9 | Results | Key results only | Yes |
| 10 | Takeaway | Conclusion | No |
| 11 | Thank You + QR | — | QR code |

#### Poster-talk (5-8 slides)

| Slide | Purpose | Content Source | Figure? |
|:-----:|---------|----------------|:-------:|
| 1 | Title | Paper metadata | No |
| 2 | Problem | Introduction (1 slide) | No |
| 3 | Method | Method (1 slide) | Yes |
| 4-5 | Results | Key result | Yes |
| 6 | Takeaway | Conclusion | No |
| 7 | Thank You + QR | — | QR code |

### Phase 2: Beamer Generation

Generate the beamer LaTeX file with the chosen venue color scheme, aspect ratio, and speaker notes.

### Phase 3: Compilation & Review

Compile with latexmk and the chosen engine. Review the generated slides with the reviewer model. Iterate until the user confirms.

### Phase 4: PPTX Export

Export the compiled PDF to an editable PPTX with speaker notes.

## Conflicts

- wanshuiyin/Auto-claude-code-research-in-sleep includes an optional — style-ref helper workflow and strict rules; brycewang-stanford/Auto-Empirical-Research-Skills omits it entirely.
- brycewang-stanford/Auto-Empirical-Research-Skills includes SLIDES_STATE.json persistence and a detailed phased workflow; wanshuiyin/Auto-claude-code-research-in-sleep does not show these in the provided text.
- REVIEWER_MODEL differs: gpt-6-astra in wanshuiyin/Auto-claude-code-research-in-sleep vs gpt-5.4 in brycewang-stanford/Auto-Empirical-Research-Skills.
- Venue color table is truncated in wanshuiyin/Auto-claude-code-research-in-sleep but more complete in brycewang-stanford/Auto-Empirical-Research-Skills.