home / skills / openclaw / skills / pptx-creator
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-creatorReview the files below or copy the command above to add this skill to your agents.
---
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
- 
## 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
- 
- 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
```
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.
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.
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.