Skip to content

inhyeoklee/paper2slides-skill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

paper2slides

Turn a scientific paper PDF into a presentation slide deck.

An Antigravity / Claude Code skill.

Antigravity Skill Claude Code License: MIT


Overview

paper2slides is an agent skill that reads a scientific paper, extracts its figures, and produces a ready-to-present Reveal.js slide deck with speaker notes.

It works in two layers:

Layer Role Implementation
Extraction Pull figures from the PDF, segment into panels Python library (paper2slides)
Curation Read the paper, select key figures, write slide content and speaker notes The agent

The extraction step is mechanical — it gives you all the raw material. The agent then does what a human presenter would: reads the paper, decides what matters, and builds a coherent narrative.

Installation

1. Add the skill to your workspace

git clone https://github.com/inhyeoklee/paper2slides-skill.git

# Copy into your workspace
cp -r paper2slides-skill/skill/ YOUR_WORKSPACE/.agent/skills/paper2slides/
cp paper2slides-skill/workflow/paper2slides.md YOUR_WORKSPACE/.agent/workflows/

2. Install the Python library

cd paper2slides-skill/library
pip install -e .

Requires Python 3.9+ and installs PyMuPDF, Pillow, NumPy, Jinja2, and Click.

How It Works

graph LR
    A[Paper PDF] --> B[paper2slides CLI]
    B --> C[Panel Images]
    A --> D[Agent reads text]
    C --> E[Agent curates slides]
    D --> E
    E --> F[Slide Deck + Speaker Notes]
Loading

Workflow

  1. Extractpaper2slides paper.pdf -o output/ pulls figures at 4× DPI and segments them into individual panels
  2. Read — The agent extracts and reads the paper text to understand the structure, results, and narrative
  3. Curate — The agent selects the most important panels, writes slide titles and captions, and composes speaker notes
  4. Verify — The agent opens the deck in a browser to check rendering

Usage

Tell the agent:

/paper2slides

Create a presentation from: path/to/paper.pdf

Or use the CLI directly for just the extraction step:

paper2slides paper.pdf -o ./output --serve

What You Get

  • 16:9 Reveal.js deck with light/dark themes
  • Speaker notes embedded in each slide (press S to view)
  • Interactive figures — zoom, pan, and lightbox on any image
  • Standalone speaker notes as a separate markdown file
  • Settings panel for font, figure scale, and transitions

Project Structure

paper2slides-skill/
├── skill/                       # → .agent/skills/paper2slides/
│   ├── SKILL.md                 #   Agent instructions
│   └── resources/
│       ├── template_shell.html  #   Reveal.js template
│       ├── slides.css           #   Presentation styles
│       └── speaker_notes_template.md
├── workflow/                    # → .agent/workflows/
│   └── paper2slides.md         #   /paper2slides command
├── library/                     # → pip install -e .
│   ├── pyproject.toml
│   └── src/paper2slides/
│       ├── cli.py               #   CLI entry point
│       ├── extractor.py         #   PDF figure extraction
│       ├── segmenter.py         #   Panel segmentation
│       ├── generator.py         #   HTML generation
│       └── templates/
├── LICENSE
└── README.md

Contributing

PRs welcome. Some directions:

  • PPTX / Google Slides export
  • OCR-based panel label detection
  • Multi-paper decks

License

MIT

About

Turn a scientific paper PDF into a presentation slide deck. An Antigravity / Claude Code agent skill.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors