6-phase PPTX presentation generation with visual QA: Gather, Design,
Generate, Convert, QA, Output. Use when user needs a PowerPoint deck,
slide presentation, pitch deck, or conference talk slides.
Triggers: "presentation", "powerpoint", "pptx", "slide deck", "pitch deck",
"slides", "create slides", "generate presentation", "make a deck",
"conference talk slides"
This skill operates as an operator for programmatic presentation generation, configuring Claude's behavior for a 6-phase pipeline that transforms content into polished PowerPoint decks. It uses python-pptx (pure Python, MIT licensed) for deterministic slide construction and a visual QA subagent loop for quality control.
Core thesis: "Slides are visual documents, not text dumps. Generate mechanically, validate visually."
The pipeline separates content decisions (LLM) from slide construction (Python script) from visual validation (subagent). This separation prevents the common failure mode where the generator rationalizes away visual defects it introduced.
Hardcoded Behaviors (Always Apply)
- CLAUDE.md Compliance: Read and follow repository CLAUDE.md files before execution. Project instructions override default behaviors.
- Over-Engineering Prevention: Build the deck the user asked for. No speculative slides, no "bonus" content, no unsolicited animations or transitions.
- Anti-AI Slide Rules: Every generated deck MUST avoid the 10 anti-AI patterns defined in
references/anti-ai-slide-rules.md. The QA subagent checks for all violations.
- Deterministic Generation: Slide construction happens via
scripts/generate_pptx.py, not inline python-pptx code. Why: scripts are testable, reproducible, and save tokens. The LLM decides WHAT goes on slides; the script decides HOW.
- Blank Layout Only: Always use
slide_layouts[6] (blank) as the base layout. Why: using template-specific layouts (title, content) inherits unpredictable formatting from whatever default template python-pptx ships. Blank gives us full control.
- Safe Fonts Only: Use Calibri and Arial exclusively. Why: presentations are shared documents. Custom fonts cause rendering failures on machines that lack them. Portability trumps aesthetics.
- Slide Map Approval: Always present the slide map to the user for approval before generating the PPTX. Why: content rework after generation wastes QA iteration budget.
Default Behaviors (ON unless disabled)
- Communication Style: Fact-based progress. "Generated 10 slides, Corporate palette, QA passed" -- not "I've crafted a stunning presentation."
- Palette Selection: Auto-select palette based on presentation type and audience using the heuristic in
references/design-system.md. Default to Minimal when uncertain.
- Widescreen Format: 16:9 (13.333 x 7.5 inches).
- Visual QA Loop: When LibreOffice is available, convert to images and run a QA subagent. Max 3 fix iterations. When LibreOffice is unavailable, fall back to structural validation only and note the skip.
- Cleanup: Remove intermediate files (PDFs, PNGs, temp JSON) after final output.
- Absolute Paths: Always use absolute paths for all file arguments to scripts.
Optional Behaviors (OFF unless enabled)
- Template-Based Generation: Use an existing .pptx file as a template instead of blank. Enable when user provides a branded template.
- Image Embedding: Embed user-provided images into slides. Enable when user provides image files or paths.
- Speaker Notes: Add speaker notes to slides. Enable when user explicitly requests notes.
- Dark Theme: Use the Midnight palette with inverted contrast. Enable when user requests dark slides or keynote-style dark decks.
What This Skill CAN Do
- Generate complete .pptx slide decks from content outlines, documents, or freeform descriptions
- Apply 8 curated color palettes with consistent typography and spacing
- Build 8 layout types: title, section divider, content/bullets, two-column, image+text, quote/callout, table, closing
- Validate generated slides structurally (slide count, titles, content presence)
- Run visual QA via LibreOffice conversion and subagent inspection (when LibreOffice is available)
- Use existing .pptx files as templates for branded decks
- Embed user-provided images into slides
Instructions
Phase 1: GATHER
...
(content omitted for brevity in this summary)
Phase 2: DESIGN
...
(content omitted for brevity in this summary)
Phase 3: GENERATE
...
(content omitted for brevity in this summary)
Phase 4: CONVERT (Requires LibreOffice)
...
(content omitted for brevity in this summary)
Phase 5: QA (Visual Inspection Loop)
...
(content omitted for brevity in this summary)
Phase 6: OUTPUT
...
(content omitted for brevity in this summary)
Examples
- Example 1: Tech Talk from Outline
- Example 2: Pitch Deck from Document
- Example 3: Status Update (No LibreOffice)
- Error Handling
- Anti-Patterns
- Anti-Rationalization
- Blocker Criteria
- Death Loop Prevention
- Dependencies
- Optional (enhances capability)
- What We Do NOT Need
References
- design-system.md
- slide-layouts.md
- qa-checklist.md