Skill detail

ppt-generator

Generates editable themed PPTX presentations from topics, outlines, and data.

MatchDirectReviewed for ppt generation
Sourceddpie/agent-skillsExternal source
Reported installs3Popularity signal only

Inspect before use

Automated review checks relevance, not safety or endorsement. Read the source instructions before using this skill.

Saved source preview

SKILL.md

The saved excerpt is a snapshot from review. The external source remains the complete and most current version.

---
name: ppt-generator
version: "1.0.0"
description: SVG-based PPT generator with 8 themed layouts, 30+ charts, and 640+ icons
---

# PPT Generator Skill

Professional presentation engine. Generates SVG pages and converts them to native editable PPTX via svg_to_pptx.
Includes 8 layout templates covering dark, light, consulting, tech, and more.

## Prerequisites

- Python ≥ 3.10
- Required packages: `pip install python-pptx lxml`
- Agent capabilities: file write + **shell execution** (pure editor agents like Cursor cannot run this skill directly — users must execute commands manually)
- (Optional) Subagent support for parallel cross review

On first run, check if dependencies are installed. If not, run `pip install python-pptx lxml`.

## When to Use

- User asks to create a PPT / presentation / slides
- User provides content, outline, or data that needs to become a PPTX
- User mentions "make a PPT", "generate slides", "presentation", etc.

## Interaction Flow (must follow)

After receiving a PPT request, **do not generate immediately**. Guide the user step by step:

### Step 1: Confirm Topic

> Got it, I'll make this PPT for you. The topic is "{extracted from user message}" — correct?
>
> How many pages do you need? Or tell me the presentation duration and I'll estimate:
> - 10 min → ~12 pages
> - 20 min → ~18 pages
> - 30 min → ~25 pages
>
> Not sure? I'll default to ~15 pages (about 12-15 min).

If the user already provided a detailed outline, skip to Step 2.

### Step 2: Pick a Layout

Each layout includes its own page structure and color scheme:

> Pick a layout (just reply with the number):
>
> **Tech / AI:**
>
> 1. **dark_warm** (default) — dark cover + light content, warm tone, AI/tech keynotes
>
> 2. **ai_ops** — light theme, white bg + red-blue accents, operations dashboards
>
> 3. **cloud_orange** — full dark, deep navy + orange, cloud/tech architecture
>
> **Business / Formal:**
>
> 4. **consultant** — light theme, white + blue, strategy & consulting reports
>
> 5. **tech_blue** — dark cover + light content, blue tech, formal business
>
> 6. **smart_red** — dark cover + light content, red accent, general business
>
> **Creative / Data:**
>
> 7. **exhibit** — dark theme, gradient + gold highlights, data showcases
>
> 8. **pixel_retro** — full dark, neon accents, creative/fun topics

### Step 3: Confirm Outline

Good, {style} it is. Propose a structure based on the topic and style. Use markdown format with clear line breaks. Each page should include a brief content summary. Replace all placeholders with actual content before presenting to user:

> Here's a suggested structure ({N} pages):
>
> **P1 — Cover**
> Title, subtitle, author/date
>
> **P2 — Table of Contents**
> Overview of all sections
>
> **P3 — {Section 1 title}**
> Key points: {brief summary of what this page covers}
>
> **P4 — {Section 2 title}**
> Key points: {brief summary of what this page covers}
>
> ...
>
> **P{N} — Closing**
> Key takeaway, call to action, or contact info
>
> Want to adjust anything, or shall I start generating?

For long presentations (15+ pages), group by chapter and show chapter-level summaries first.

### Step 4: Generate

Only start after user confirms. Send a brief status message:

> Starting generation, {N} pages, this may take a few minutes.

During generation, **report progress to the user every 3-5 pages**:

> Page 5 of 25 done...
> Page 10 of 25 done...
> Page 20 of 25 done, almost there...

Keep it short. Do NOT mention SVG, technical details, or internal steps — the user only cares about page progress.

Then execute the Technical Flow below.

### Step 5: Deliver and Iterate

Send the final PPTX with a brief note:

> PPT is ready, {N} pages total.
> Want changes? Just say:
> - "Update the data on page 3"
> - "Add a page about XX"
> - "Make the colors darker"

---

## Technical Flow (executed in Step 4)

⚠️ **Everything below is internal execution detail. NEVER expose SVG rules, code, or technical process to the user.**

Read the full source on GitHub (opens external page)
Context

Related work