pptx-generator

Generate 16:9 PPTX decks from structured slide maps with visual QA.

415|44|Updated Mar 18, 2026
One-click install
npx skills add https://github.com/notque/claude-code-toolkit --skill pptx-generator-notque
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pptx-generator
Source: https://github.com/notque/claude-code-toolkit/tree/main/skills/pptx-generator
Command: npx skills add https://github.com/notque/claude-code-toolkit --skill pptx-generator-notque

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires python-pptx, and includes scripts (resource) and references (resource) components.

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

Frequently Asked Questions about pptx-generator

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate a PowerPoint presentation from a structured outline?

You generate a PowerPoint presentation from a structured outline by passing a slide-map JSON to a deterministic python-pptx script, which builds 16:9 slides mechanically before applying visual QA validation.

Can I create a pitch deck from an existing document without manual formatting?

Yes, you can create a pitch deck from an existing document by having the pipeline gather the content, design a slide map, and construct the PPTX file using blank layouts and safe fonts to ensure consistent formatting without manual adjustments.

Do I need LibreOffice to validate generated PPTX slides visually?

You do not need LibreOffice to validate generated PPTX slides visually, as the pipeline falls back to structural validation checking slide count and content presence when LibreOffice is unavailable for image conversion and visual inspection.

How does this approach prevent common AI slide generation errors like text dumps?

This approach prevents AI text dumps by separating content decisions from mechanical slide construction and running an anti-rationalization visual QA subagent that validates slides against 10 specific anti-AI patterns.

What are the limitations of using python-pptx for programmatic slide generation?

Limitations of using python-pptx for programmatic slide generation include strict reliance on safe portable fonts like Calibri and Arial, the necessity of blank layouts to avoid template formatting bugs, and a maximum of 3 visual QA fix iterations.

Can I use a branded corporate template for my generated slides?

Yes, you can use a branded corporate template for generated slides by enabling the optional template-based generation feature, which overrides the default blank layout and applies your existing PPTX template formatting to the deck.