arcdeck
Convert academic PDF papers into polished, narrative-driven PowerPoint presentations using 13 specialized AI agents. Based on discourse pars
Open source Repository Open in the app JSON README (API)
About
Convert academic PDF papers into polished, narrative-driven PowerPoint presentations using 13 specialized AI agents. Based on discourse parsing with multi-agent critique-revise-judge refinement loops and aesthetic design principles.
Details
- Kind
- Plugins
- Topic
- AI, RAG & memory
- Publisher
- rehglab
- Origin
- marketplace
- Category
- ferramentas
- Last push
- 2026-04-17T17:43:24Z
- Repository state
- ativo
- Language
- Python
- License
- MIT
- Added
- 2026-08-30 01:48:58
- Updated
- 2026-08-30 01:48:58
- Origin id
rehglab/arcdeck-claude-plugin/arcdeck
README
# ArcDeck — Claude Code Plugin
Convert academic PDF papers into polished, narrative-driven PowerPoint presentations using 13 specialized AI agents orchestrated by Claude Code.
Based on Rhetorical Structure Theory (RST) discourse parsing with a multi-agent critique-revise-judge refinement loop and CARP+ aesthetic design principles. Every slide is visually rich — text-only slides get programmatic diagrams and charts rendered via PptxGenJS (Node.js).
**Paper:** [Narrative-Driven Paper-to-Slide Generation via ArcDeck](https://arxiv.org/abs/2604.11969)
**Official Website:** https://arcdeck.org
**Official GitHub Repository:** https://github.com/RehgLab/ArcDeck
## Installation
### From Plugin Directory
```bash
claude --plugin-dir ./
```
### From Marketplace
```
/plugins install arcdeck
```
## Usage
Once installed, invoke the skill:
```
/arcdeck:arcdeck paper.pdf
```
### Full Options
```
/arcdeck:arcdeck paper.pdf --audience researchers --duration 20 --template ocean --speaker-notes
```
### Arguments
| Argument | Description | Default |
|----------|-------------|---------|
| `<pdf_path>` | Path to the input PDF paper | *(required)* |
| `--audience <type>` | Target audience: `researchers`, `students`, `industry`, `general` | `researchers` |
| `--duration <minutes>` | Target talk length in minutes | `20` |
| `--template <theme>` | Presentation theme: `ocean`, `minimal`, `dark`, `warm` | `ocean` |
| `--speaker-notes` | Generate speaker notes for each slide | off |
### Presentation Themes
| Theme | Style | Colors |
|-------|-------|--------|
| `ocean` | Ocean Gradient — navy/teal/cyan | `#065A82` `#1C7293` `#0891B2` |
| `minimal` | Clean Minimal — white/coral accent | `#E63946` `#457B9D` `#2A9D8F` |
| `dark` | Dark Mode — charcoal/violet accent | `#7F5AF0` `#2CB67D` `#FF6B6B` |
| `warm` | Warm Academic — cream/terracotta | `#C45B3E` `#5B8A72` `#D4A84B` |
## Prerequisites
- **Python 3.10+** with `docling` installed (PDF extraction)
- **Node.js 18+** with `pptxgenjs` (PPTX rendering)
- **LLM API key**: `OPENAI_API_KEY` or `ANTHROPIC_API_KEY` set in environment
Install Python dependencies:
```bash
pip install docling Pillow
```
Node.js dependency is installed automatically in the workspace during execution.
## How It Works
ArcDeck runs a 13-agent pipeline across 9 phases:
| Phase | Agents | Purpose |
|-------|--------|---------|
| 0 | — | Setup & user input |
| 1 | A1-A2 | PDF preprocessing & asset extraction (Docling) |
| 2 | A3 | Commitment building (global narrative contract) |
| 3 | A4 | RST discourse parsing (per-section) |
| 4 | A5 | Slide planning (RST-guided grouping) |
| 5 | A6-A8 | Narrative refinement loop (critique-revise-judge, up to 3 rounds) |
| 6 | A9-A10 | Visual asset filtering & slide composition |
| 7 | A11-A12 | Aesthetic critique-refine (CARP+ design principles) |
| 8 | A13 | PPTX assembly via PptxGenJS |
Agents A10-A13 are **Claude Code native** — Claude Code acts as the LLM directly with no external API calls.
## Plugin Structure
```
arcdeck-plugin/
├── .claude-plugin/
│ └── plugin.json # Plugin manifest
├── skills/
│ └── arcdeck/
│ ├── SKILL.md # Main skill definition
│ ├── agents/ # 13 agent specifications (A1-A13)
│ ├── prompts/ # Prompt templates (outline + pipeline)
│ ├── reference/ # Reference docs (RST, templates, troubleshooting)
│ └── scripts/ # Pipeline scripts (Python + Node.js)
└── README.md
```
## Output
Generated files are saved under `workspace/` in the current directory:
| File | Description |
|------|-------------|
| `workspace/output.pptx` | Final PowerPoint presentation |
| `workspace/speaker_notes.json` | Speaker notes (if requested) |
| `workspace/slide_plan_refined.json` | Final slide plan (JSON) |
| `workspace/figures/` | Extracted figures and tables |
## Citation
```bibtex
@article{ozden2026arcdeck,
title = {Narrative-Driven Paper-to-Slide Generation via ArcDeck},
author = {Ozden, Tarik Can and VS, Sachidanand and Horoz, Furkan
and Kara, Ozgur and Kim, Junho and Rehg, James M.},
journal = {arXiv preprint arXiv:2604.11969},
year = {2026}
}
```
## License
MIT
## Contact
For feedback, improvements, or support: tozden2@illinois.edu