name: slide-deck
description: "Build a real, editable PowerPoint (.pptx) deck from an outline or brief. Use when asked to make a slide deck, a PowerPoint, a pitch/board/sales deck as an actual file, or to turn a doc/notes into slides. Produces an actual .pptx via a generated python-pptx script — a title slide, one idea per content slide with a clear headline and concise bullets, and consistent styling. Requires a code-execution environment (Claude Code, the API code tool, or Claude.ai)."
Slide Deck Skill
This produces a real, editable .pptx — not a markdown outline — by writing and running a
python-pptx script. It turns a brief, doc, or outline into a deck that follows good slide hygiene:
a headline that states the point (not a vague title), one idea per slide, concise bullets, and
consistent styling — so the user opens an actual PowerPoint they can present and edit.
Environment: produces a binary file, so it needs code execution — Claude Code, the
API code-execution tool, or Claude.ai. In the browser playground (no code execution), the
existing PPTX export turns any skill's markdown into slides; this skill is for a built-from-brief deck.
Required Inputs
Ask for these only if they aren't already provided:
- Deck type & goal — pitch, board update, sales deck, training, readout — and the one thing the audience should do/believe.
- The content — an outline, doc, or notes (the skill structures it into slides).
- Audience & length — who's watching and roughly how many slides.
- Brand — any colours/font (defaults to a clean, neutral theme otherwise).
Process
- Storyline first — turn the content into a slide-by-slide narrative: title → context → the few key points → the ask/close. One idea per slide; confirm the flow if it's a high-stakes deck.
- Write a
python-pptx script that:
- Builds a title slide, then content slides each with an assertion headline (the takeaway, e.g. "Activation is the bottleneck — not signups") and 3–5 tight bullets or a simple visual.
- Applies consistent styling: a colour accent, readable font sizes, generous spacing; uses the brand colour if given.
- Avoids text walls — bullets are phrases, not paragraphs; speaker detail goes in notes.
- Saves to a clearly named
.pptx.
- Run it, then summarise the deck and flag any slide that needs a chart/image the user must add.
Output Format
- The generated
.pptx file.
- A short deck outline (slide titles + the one-line message of each) and notes on anything to add (data, visuals).
Quality Checks
Anti-Patterns
Based On
Presentation practice — assertion-evidence / one-idea-per-slide, Duarte/Minto narrative structure — implemented with python-pptx.
Programmatic Helper
This skill ships scripts/pptx_tool.py — zero-dependency (stdlib zip+XML) generation of a real .pptx from a markdown outline:
python3 scripts/pptx_tool.py build deck.pptx --outline-file deck.md
Outline: # Title (+ next line = subtitle) · ## Slide title · - bullet (two-space indent = sub-bullet) · > speaker note. Ships a clean 16:9 dark-title theme that opens in PowerPoint/Keynote/Slides. Design the narrative first (per this skill), then emit the outline and build. Honest limits: one theme, no images/charts — it's the restylable skeleton; for designed decks use the playground's slide export.
Example Trigger Phrases
- "Make a slide deck."
- "Make a PowerPoint for the board."
- "Turn these notes into slides."
- "Build an actual .pptx pitch deck."