Back to Skills
    🦞

    pptx-creator

    Create professional PowerPoint presentations from outlines, data

    By @dbhurley
    View on GitHub
    SKILL.md
    ---
    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
    - ![image](generate: modern office building, minimalist style)
    
    ## 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
    - ![hero](generate: futuristic cityscape, clean energy, optimistic)
    - 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
    ```