home / skills / openclaw / skills / pptx-creator

pptx-creator skill

This skill generates professional PowerPoint presentations from outlines, data, or JSON structures using templates and AI-generated images.

npx playbooks add skill openclaw/skills --skill pptx-creator

Review the files below or copy the command above to add this skill to your agents.

Files (8)
SKILL.md
4.7 KB
---
name: pptx-creator
description: Create professional PowerPoint presentations from outlines, data sources, or AI-generated content. Supports custom templates, style presets, charts/tables from data, and AI-generated images. Use when asked to create slides, pitch decks, reports, or presentations.
homepage: https://python-pptx.readthedocs.io
metadata: {"clawdbot":{"emoji":"📽️","requires":{"bins":["uv"]}}}
---

# PowerPoint Creator

Create professional presentations from outlines, topics, or data sources.

## Quick Start

### From Outline/Markdown
```bash
uv run {baseDir}/scripts/create_pptx.py --outline outline.md --output deck.pptx
```

### From Topic
```bash
uv run {baseDir}/scripts/create_pptx.py --topic "Q4 Sales Review" --slides 8 --output review.pptx
```

### With Style Template
```bash
uv run {baseDir}/scripts/create_pptx.py --outline outline.md --template corporate --output deck.pptx
```

### From JSON Structure
```bash
uv run {baseDir}/scripts/create_pptx.py --json slides.json --output deck.pptx
```

## Outline Format (Markdown)

```markdown
# Presentation Title
subtitle: Annual Review 2026
author: Your Name

## Introduction
- Welcome and agenda
- Key objectives for today
- ![image](generate: modern office building, minimalist style)

## Market Analysis
- chart: bar
- data: sales_by_region.csv
- Market grew 15% YoY
- Strong competitive position

## Financial Summary
- table: quarterly_results
- Strong Q4 performance
- Revenue targets exceeded
```

## JSON Structure

```json
{
  "title": "Quarterly Review",
  "subtitle": "Q4 Performance",
  "author": "Your Name",
  "template": "corporate",
  "slides": [
    {
      "title": "Introduction",
      "layout": "title_and_content",
      "bullets": ["Welcome", "Agenda", "Goals"],
      "notes": "Speaker notes here"
    },
    {
      "title": "Revenue Chart",
      "layout": "chart",
      "chart_type": "bar"
    },
    {
      "title": "Team",
      "layout": "image_and_text",
      "image": "generate: professional team collaboration, corporate style",
      "bullets": ["Leadership", "Sales", "Operations"]
    }
  ]
}
```

## Built-in Style Templates

- `minimal` — Clean white, Helvetica Neue, blue accent (default)
- `corporate` — Professional blue, Arial, business-ready
- `creative` — Bold orange accents, Avenir, modern feel
- `dark` — Dark background, SF Pro, cyan accents
- `executive` — Gold accents, Georgia/Calibri, refined elegance
- `startup` — Purple accents, Poppins/Inter, pitch-deck ready

### Generate All Templates
```bash
uv run {baseDir}/scripts/create_template.py --all
```

### List Templates
```bash
uv run {baseDir}/scripts/create_pptx.py --list-templates
```

## Custom Templates

### Save Existing PPTX as Template
```bash
uv run {baseDir}/scripts/create_pptx.py --save-template "my-brand" --from existing.pptx
```

### Analyze Template Structure
```bash
uv run {baseDir}/scripts/analyze_template.py existing.pptx
uv run {baseDir}/scripts/analyze_template.py existing.pptx --json
```

### Build from Custom Template
```bash
uv run {baseDir}/scripts/use_template.py \
  --template my-brand \
  --slides content.json \
  --keep-slides 2 \
  --output presentation.pptx
```

## Data Sources

### CSV/Excel
```markdown
## Regional Sales
- chart: pie
- data: sales.csv
- columns: region, revenue
```

### Inline Data
```markdown
## Quarterly Comparison
- chart: bar
- data:
  - Q1: 120
  - Q2: 145  
  - Q3: 132
  - Q4: 178
```

## Image Generation

Generate images inline using compatible image generation skills:

```markdown
## Our Vision
- ![hero](generate: futuristic cityscape, clean energy, optimistic)
- Building tomorrow's solutions
```

Or via JSON:
```json
{
  "title": "Innovation",
  "image": {
    "generate": "abstract technology visualization, blue tones",
    "position": "right",
    "size": "half"
  }
}
```

## Layouts

- `title` — Title slide
- `title_and_content` — Title + bullet points (default)
- `two_column` — Side-by-side content
- `image_and_text` — Image with text
- `chart` — Full chart slide
- `table` — Data table
- `section` — Section divider
- `blank` — Empty slide for custom content

## Chart Types

- `bar` / `bar_stacked`
- `column` / `column_stacked`
- `line` / `line_markers`
- `pie` / `doughnut`
- `area` / `area_stacked`
- `scatter`

## Examples

### Pitch Deck
```bash
uv run {baseDir}/scripts/create_pptx.py \
  --topic "Series A pitch for tech startup" \
  --slides 10 \
  --template startup \
  --output pitch-deck.pptx
```

### Executive Report
```bash
uv run {baseDir}/scripts/create_pptx.py \
  --outline report.md \
  --template executive \
  --output board-report.pptx
```

### Marketing Presentation
```bash
uv run {baseDir}/scripts/create_pptx.py \
  --outline campaign.md \
  --template creative \
  --output marketing-deck.pptx
```

Overview

This skill creates professional PowerPoint presentations from outlines, topics, JSON structures, or data sources. It supports custom templates, style presets, charts and tables generated from CSV/Excel or inline data, and AI-generated images for visual slides. Use it to produce pitch decks, reports, and slide-based summaries quickly and consistently.

How this skill works

Provide an outline in Markdown, a JSON slide specification, or a simple topic and the tool generates a .pptx file using the selected template and layout rules. It inspects slide content for special directives (chart:, table:, data:, image:generate:) to build charts, tables, or request generated images and maps CSV/Excel data into visuals. Templates and style presets control fonts, colors, and layout; custom templates can be saved or imported from existing PPTX files.

When to use it

  • Build a pitch deck from a short topic or outline quickly
  • Convert Markdown or JSON slide specs into a polished presentation
  • Generate charts and tables directly from CSV or Excel data
  • Create consistent branded slides using saved templates
  • Produce slides with AI-generated images for visual storytelling

Best practices

  • Use a clear outline or JSON with explicit titles and bullet lists for predictable layouts
  • Supply CSV/Excel files with headers that match chart column names for automatic mapping
  • Choose a template that matches the audience (executive, startup, creative) to save styling tweaks
  • Keep slide text concise; use notes fields for speaker detail instead of crowded slides
  • Preview generated images and adjust prompts for style consistency across slides

Example use cases

  • Create a 10-slide Series A pitch deck from a topic and template set to 'startup'
  • Produce an executive board report from a Markdown outline with the 'executive' template
  • Generate sales charts directly from regional sales.csv and insert them into a financial summary
  • Convert a saved company-branded PPTX into a reusable template and apply it to new content
  • Assemble a marketing presentation with AI-generated hero images and layout-specific slides

FAQ

Can I use my own PowerPoint as a template?

Yes. Save an existing PPTX as a template and analyze its structure; the skill can import and reuse that template for new slides.

How are charts created from my data files?

Specify chart: and data: directives in the outline or JSON. CSV/Excel files are parsed and mapped to chart axes or table rows based on column names or inline column settings.

Can the tool generate images inside slides?

Yes. Use image generation directives in Markdown or JSON (generate: prompt). The skill integrates compatible image-generation services to place images in specified positions and sizes.