/aris-paper-slides
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
$ npx -y skills add OpenLAIR/dr-claw --skill aris-paper-slides --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/aris-paper-slides
Context preview
The summary Claude sees to decide when to auto-load this skill.
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
SKILL.md
aris-paper-slides.SKILL.mdname: aris-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]"
allowed-tools: Bash(*), Read, Write, Edit, Grep, Glob, Agent, mcp__codex__codex, mcp__codex__codex-reply
license: MIT
metadata:
author: wanshuiyin/ARIS
version: "1.0.0"
Paper Slides: From Paper to Conference Talk
Generate conference presentation slides from: **$ARGUMENTS**
Context
This skill runs **after** Workflow 3 (`/aris-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 (single page, visual-first), slides tell a **temporal story**: each slide builds on the previous one, with progressive revelation of the research narrative. A good talk makes the audience understand *why this matters* before showing *what was done*.
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). Determines slide count and content depth.
- **TALK_MINUTES = 15** — Talk duration in minutes. Auto-adjusts slide count (~1 slide/minute for oral, ~1.5 slides/minute for spotlight). Override explicitly if needed.
- **ASPECT_RATIO = `16:9`** — Slide aspect ratio. Options: `16:9` (default, modern projectors), `4:3` (legacy).
- **SPEAKER_NOTES = true** — Generate `\note{}` blocks in beamer and corresponding PPTX notes. Set `false` for clean slides without notes.
- **PAPER_DIR = `paper/`** — Directory containing the compiled paper.
- **OUTPUT_DIR = `slides/`** — Output directory for all slide files.
- **REVIEWER_MODEL = `gpt-5.4`** — 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: `/aris-paper-slides "paper/" — talk_type: oral, venue: ICML, minutes: 20, aspect: 4:3`
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
Same as `/aris-paper-poster`:
| 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:
{
"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 | Introducti
Read more
name: aris-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]" allowed-tools: Bash(*), Read, Write, Edit, Grep, Glob, Agent, mcp__codex__codex, mcp__codex__codex-reply license: MIT metadata: author: wanshuiyin/ARIS version: "1.0.0"
Paper Slides: From Paper to Conference Talk
Generate conference presentation slides from: **$ARGUMENTS**
Context
This skill runs **after** Workflow 3 (`/aris-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 (single page, visual-first), slides tell a **temporal story**: each slide builds on the previous one, with progressive revelation of the research narrative. A good talk makes the audience understand *why this matters* before showing *what was done*.
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). Determines slide count and content depth.
- **TALK_MINUTES = 15** — Talk duration in minutes. Auto-adjusts slide count (~1 slide/minute for oral, ~1.5 slides/minute for spotlight). Override explicitly if needed.
- **ASPECT_RATIO = `16:9`** — Slide aspect ratio. Options: `16:9` (default, modern projectors), `4:3` (legacy).
- **SPEAKER_NOTES = true** — Generate `\note{}` blocks in beamer and corresponding PPTX notes. Set `false` for clean slides without notes.
- **PAPER_DIR = `paper/`** — Directory containing the compiled paper.
- **OUTPUT_DIR = `slides/`** — Output directory for all slide files.
- **REVIEWER_MODEL = `gpt-5.4`** — 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: `/aris-paper-slides "paper/" — talk_type: oral, venue: ICML, minutes: 20, aspect: 4:3`
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
Same as `/aris-paper-poster`:
| 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:
{
"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 | Introducti
A Super AI Lab with massive AI Doctors as Assistants. Best IDE for Research via AI Power.
Repo: OpenLAIR/dr-claw
Other skills on dr-claw.
- /dr-claw
Dr. Claw skill for OpenClaw project discovery, idea intake, waiting-session triage, structured session control, event-driven notifications, and mobile reporting through the local drclaw CLI.
Open skill - /academic-researcher
Academic research assistant for literature reviews, paper analysis, and scholarly writing. Use when: reviewing academic papers, conducting literature reviews, writing research summaries, analyzing methodologies, formatting citations, or when user mentions academic research,
Open skill - /autogpt
Autonomous AI agent platform for building and deploying continuous agents. Use when creating visual workflow agents, deploying persistent autonomous agents, or building complex multi-step AI automation systems.
Open skill - /crewai
Multi-agent orchestration framework for autonomous AI collaboration. Use when building teams of specialized agents working together on complex tasks, when you need role-based agent collaboration with memory, or for production workflows requiring sequential/hierarchical
Open skill - /langchain
Framework for building LLM-powered applications with agents, chains, and RAG. Supports multiple providers (OpenAI, Anthropic, Google), 500+ integrations, ReAct agents, tool calling, memory management, and vector store retrieval. Use for building chatbots, question-answering
Open skill - /llamaindex
Data framework for building LLM applications with RAG. Specializes in document ingestion (300+ connectors), indexing, and querying. Features vector indices, query engines, agents, and multi-modal support. Use for document Q&A, chatbots, knowledge retrieval, or building RAG
Open skill

