install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/michaelboeding/skills/slide-generation" ~/.claude/skills/comeonoliver-skillshub-slide-generation && rm -rf "$T"
manifest:
skills/michaelboeding/skills/slide-generation/SKILL.mdsource content
Slide Generation Skill
Create presentation slides from structured content.
This is a low-level generation skill that other agents use to create actual slide files.
What It Creates
| Format | Method | Best For |
|---|---|---|
| PPTX | library | PowerPoint, Google Slides import |
| Markdown | Marp/Slidev format | Developer presentations |
| HTML | Reveal.js template | Web-based presentations |
Prerequisites
# Required for PPTX generation pip install python-pptx Pillow # Optional for Markdown slides npm install -g @marp-team/marp-cli
Usage
Script: slides.py
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
Input Format: slides.json
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"} ] } ] }
Slide Types
1. Title Slide
{ "type": "title", "title": "Company Name", "subtitle": "Tagline goes here", "image": "logo.png", "date": "January 2026" }
2. Content Slide (Bullets)
{ "type": "content", "title": "Slide Title", "bullets": ["Point 1", "Point 2", "Point 3"], "image": "optional-side-image.png", "notes": "Speaker notes" }
3. Image Slide
{ "type": "image", "title": "Product Screenshot", "image": "screenshot.png", "caption": "Our new dashboard" }
4. Two-Column Slide
{ "type": "two-column", "title": "Before & After", "left": {"heading": "Before", "bullets": ["Problem 1"]}, "right": {"heading": "After", "bullets": ["Solution 1"]} }
5. Quote Slide
{ "type": "quote", "quote": "This product changed our business.", "attribution": "- CEO, Fortune 500 Company", "image": "headshot.png" }
6. Stats Slide
{ "type": "stats", "title": "By the Numbers", "stats": [ {"value": "10x", "label": "Faster"}, {"value": "$1M", "label": "Saved"} ] }
7. Chart Slide
{ "type": "chart", "title": "Market Size", "chart_type": "bar", "data": { "labels": ["TAM", "SAM", "SOM"], "values": [50, 10, 2] } }
8. Section Divider
{ "type": "section", "title": "Part 2: The Solution" }
9. Closing Slide
{ "type": "closing", "title": "Thank You", "subtitle": "Questions?", "contact": "email@company.com" }
Themes
| Theme | Description |
|---|---|
| Dark background, light text, bold accents |
| Light background, clean minimalist |
| Professional, blue tones |
| Bold colors, energetic |
| Maximum whitespace, typography focus |
Custom Theme
{ "theme": { "background": "#1a1a2e", "text": "#ffffff", "accent": "#e94560", "heading_font": "Montserrat", "body_font": "Open Sans" } }
Integration with Other Skills
pitch-deck-agent workflow:
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
market-researcher-agent workflow:
1. market-researcher-agent creates market report 2. Converts report to slide format 3. Calls slide-generation for presentation 4. Returns market-report.pptx
Output
✅ Presentation created: presentation.pptx Slides: 12 Theme: modern-dark Images: 5 embedded Open with: - Microsoft PowerPoint - Google Slides (import) - LibreOffice Impress
Limitations
- Charts are basic (for complex charts, use image-generation)
- Animations not supported (static slides only)
- Custom layouts require theme customization
- Large images are resized to fit
For Advanced PowerPoint Operations
For more complex PowerPoint tasks, use the pptx skill which supports:
- Editing existing presentations (OOXML)
- Working with templates (duplicate, rearrange, replace)
- HTML → PowerPoint conversion
- Advanced layout and typography control
- Comments and speaker notes
Example Prompts
From other agents:
is called programmatically, not directly by usersslide-generation
Direct use:
"Create slides from this content: [paste JSON]" "Generate a PowerPoint from my outline"