From skills
Generates PPTX (python-pptx), Markdown (Marp/Slidev), or HTML (Reveal.js) presentation slides from structured JSON input. Supports title, content, image, two-column, quote, stats types.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skills:slide-generationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create presentation slides from structured content.
Create presentation slides from structured content.
This is a low-level generation skill that other agents use to create actual slide files.
| Format | Method | Best For |
|---|---|---|
| PPTX | python-pptx library | PowerPoint, Google Slides import |
| Markdown | Marp/Slidev format | Developer presentations |
| HTML | Reveal.js template | Web-based presentations |
# Required for PPTX generation
pip install python-pptx Pillow
# Optional for Markdown slides
npm install -g @marp-team/marp-cli
slides.py# Basic slide creation
python slides.py --content slides.json --output presentation.pptx
# With theme
python slides.py --content slides.json --theme modern-dark --output deck.pptx
# Markdown output
python slides.py --content slides.json --format markdown --output slides.md
slides.json{
"metadata": {
"title": "Presentation Title",
"author": "Author Name",
"theme": "modern-dark"
},
"slides": [
{
"type": "title",
"title": "Main Title",
"subtitle": "Subtitle or tagline",
"image": "logo.png"
},
{
"type": "content",
"title": "Slide Title",
"bullets": [
"First point",
"Second point",
"Third point"
],
"notes": "Speaker notes for this slide"
},
{
"type": "image",
"title": "Visual Slide",
"image": "chart.png",
"caption": "Optional caption"
},
{
"type": "two-column",
"title": "Comparison",
"left": {
"heading": "Before",
"bullets": ["Point 1", "Point 2"]
},
"right": {
"heading": "After",
"bullets": ["Point 1", "Point 2"]
}
},
{
"type": "quote",
"quote": "This is a customer testimonial or important quote.",
"attribution": "- Customer Name, Company"
},
{
"type": "stats",
"title": "Key Metrics",
"stats": [
{"value": "10x", "label": "Faster"},
{"value": "50%", "label": "Cost Savings"},
{"value": "1M+", "label": "Users"}
]
}
]
}
{
"type": "title",
"title": "Company Name",
"subtitle": "Tagline goes here",
"image": "logo.png",
"date": "January 2026"
}
{
"type": "content",
"title": "Slide Title",
"bullets": ["Point 1", "Point 2", "Point 3"],
"image": "optional-side-image.png",
"notes": "Speaker notes"
}
{
"type": "image",
"title": "Product Screenshot",
"image": "screenshot.png",
"caption": "Our new dashboard"
}
{
"type": "two-column",
"title": "Before & After",
"left": {"heading": "Before", "bullets": ["Problem 1"]},
"right": {"heading": "After", "bullets": ["Solution 1"]}
}
{
"type": "quote",
"quote": "This product changed our business.",
"attribution": "- CEO, Fortune 500 Company",
"image": "headshot.png"
}
{
"type": "stats",
"title": "By the Numbers",
"stats": [
{"value": "10x", "label": "Faster"},
{"value": "$1M", "label": "Saved"}
]
}
{
"type": "chart",
"title": "Market Size",
"chart_type": "bar",
"data": {
"labels": ["TAM", "SAM", "SOM"],
"values": [50, 10, 2]
}
}
{
"type": "section",
"title": "Part 2: The Solution"
}
{
"type": "closing",
"title": "Thank You",
"subtitle": "Questions?",
"contact": "[email protected]"
}
| Theme | Description |
|---|---|
modern-dark | Dark background, light text, bold accents |
modern-light | Light background, clean minimalist |
corporate | Professional, blue tones |
startup | Bold colors, energetic |
minimal | Maximum whitespace, typography focus |
{
"theme": {
"background": "#1a1a2e",
"text": "#ffffff",
"accent": "#e94560",
"heading_font": "Montserrat",
"body_font": "Open Sans"
}
}
1. pitch-deck-agent generates slide content as JSON
2. Calls image-generation for visuals
3. Calls slide-generation to create PPTX
4. Returns actual .pptx file
1. market-researcher-agent creates market report
2. Converts report to slide format
3. Calls slide-generation for presentation
4. Returns market-report.pptx
✅ Presentation created: presentation.pptx
Slides: 12
Theme: modern-dark
Images: 5 embedded
Open with:
- Microsoft PowerPoint
- Google Slides (import)
- LibreOffice Impress
For more complex PowerPoint tasks, use the pptx skill which supports:
From other agents:
slide-generationis called programmatically, not directly by users
Direct use:
"Create slides from this content: [paste JSON]" "Generate a PowerPoint from my outline"
npx claudepluginhub michaelboeding/skills --plugin skillsGenerates professional .pptx and PDF presentations from a JSON deck specification using 18 slide types with dark/light variants and calibrated character limits.
Creates slide presentations from topics, URLs, PDFs, git repos, or vault notes. Handles research, synthesis, outlining, and editing existing decks. Default output is reveal.js HTML; pptx available on request.
Orchestrates presentation creation from content planning to format-specific generation (HTML slides or PPTX). Invokes html-slides or pptx-slides skills for final output.