Claude
Skills
Sign in
Back

slide-generation

Included with Lifetime
$97 forever

Use this skill to create presentation slides from structured content. Triggers: "create slides", "generate presentation", "make powerpoint", "create pptx", "build slides", "presentation from content", "slide deck", "slides for" Outputs: PPTX files, Markdown slides, or HTML presentations. Used by: pitch-deck-agent, market-researcher-agent, and other agents needing slides.

Web Devscripts

What this skill does


# 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** | `python-pptx` library | PowerPoint, Google Slides import |
| **Markdown** | Marp/Slidev format | Developer presentations |
| **HTML** | Reveal.js template | Web-based presentations |

## Prerequisites

```bash
# Required for PPTX generation
pip install python-pptx Pillow

# Optional for Markdown slides
npm install -g @marp-team/marp-cli
```

## Usage

### Script: `slides.py`

```bash
# 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`

```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
```json
{
  "type": "title",
  "title": "Company Name",
  "subtitle": "Tagline goes here",
  "image": "logo.png",
  "date": "January 2026"
}
```

### 2. Content Slide (Bullets)
```json
{
  "type": "content",
  "title": "Slide Title",
  "bullets": ["Point 1", "Point 2", "Point 3"],
  "image": "optional-side-image.png",
  "notes": "Speaker notes"
}
```

### 3. Image Slide
```json
{
  "type": "image",
  "title": "Product Screenshot",
  "image": "screenshot.png",
  "caption": "Our new dashboard"
}
```

### 4. Two-Column Slide
```json
{
  "type": "two-column",
  "title": "Before & After",
  "left": {"heading": "Before", "bullets": ["Problem 1"]},
  "right": {"heading": "After", "bullets": ["Solution 1"]}
}
```

### 5. Quote Slide
```json
{
  "type": "quote",
  "quote": "This product changed our business.",
  "attribution": "- CEO, Fortune 500 Company",
  "image": "headshot.png"
}
```

### 6. Stats Slide
```json
{
  "type": "stats",
  "title": "By the Numbers",
  "stats": [
    {"value": "10x", "label": "Faster"},
    {"value": "$1M", "label": "Saved"}
  ]
}
```

### 7. Chart Slide
```json
{
  "type": "chart",
  "title": "Market Size",
  "chart_type": "bar",
  "data": {
    "labels": ["TAM", "SAM", "SOM"],
    "values": [50, 10, 2]
  }
}
```

### 8. Section Divider
```json
{
  "type": "section",
  "title": "Part 2: The Solution"
}
```

### 9. Closing Slide
```json
{
  "type": "closing",
  "title": "Thank You",
  "subtitle": "Questions?",
  "contact": "[email protected]"
}
```

---

## Themes

| 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 |

### Custom Theme
```json
{
  "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](../pptx/)** 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:**
> `slide-generation` is called programmatically, not directly by users

**Direct use:**
> "Create slides from this content: [paste JSON]"
> "Generate a PowerPoint from my outline"
Files: 2
Size: 21.6 KB
Complexity: 44/100
Category: Web Dev

Related in Web Dev