/pptx-create

SkillDocs & knowledge

Create PowerPoint presentations from the template library

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the /pptx-create skill

What this skill tells your AI

The instructions your AI receives, as published by davidroliverba/architectkb in .claude/skills/pptx-create/SKILL.md and read by ahel’s review.

Create a new PowerPoint presentation using a template from the extracted library. Populate slides from an outline, vault notes, or a JSON content specification.

Usage

/pptx-create <title> [--template <slug>]
/pptx-create <title> --template <slug> --from <note-path>
/pptx-create --template <slug> --content <content.json>

Examples

/pptx-create "Q1 Architecture Review" --template baae-community-day-feb2026
/pptx-create "Alpha Programme Update" --from "Projects/Project - Alpha.md"
/pptx-create --template baae-community-day-feb2026 --content slides.json

Instructions

Phase 1: Select Template

  1. If --template provided, load that template
  2. If not provided, list available templates and ask user to choose:
python3 .claude/scripts/pptx_create.py --list-templates

Use AskUserQuestion to select:

Question: "Which template should be used?"
Header: "Template"
Options:
  1. "<most recent template>" (Recommended)
  2. "<other template>"
  3. "List all layouts first"

Phase 2: Define Content

Determine the content source based on user input:

Option A: Interactive Outline

If user provides just a title, help them build an outline interactively:

  1. Ask for the presentation structure (sections/topics)
  2. For each section, ask for key points
  3. Map each section to an appropriate layout

Option B: From Vault Note

If --from <note-path> is provided:

  1. Read the vault note
  2. Extract headings, key points, and relationships
  3. Map sections to slides automatically:
    • H1 → Title slide
    • H2 → Section headers
    • H3 + bullets → Content slides
    • Tables → Content slides with table data
    • Images → Image layout slides

Option C: JSON Content Specification

If --content <file> is provided, use the JSON directly. Format:

{
  "title": "Presentation Title",
  "slides": [
    {
      "layout": "title-slide",
      "content": {
        "title": "Presentation Title",
        "subtitle": "Author — Date"
      }
    },
    {
      "layout": "section-divider-dark-blue",
      "content": {
        "title": "Section Name"
      }
    },
    {
      "layout": "single-column-text",
      "content": {
        "title": "Slide Title",
        "body": ["Bullet 1", "Bullet 2", "Bullet 3"]
      },
      "notes": "Speaker notes here"
    },
    {
      "layout": "two-column-text",
      "content": {
        "title": "Comparison",
        "left": ["Before item 1", "Before item 2"],
        "right": ["After item 1", "After item 2"]
      }
    },
    {
      "layout": "large-image-large-text",
      "content": {
        "title": "Architecture Diagram",
        "image": "Attachments/diagram.png",
        "body": "Key architecture overview"
      }
    }
  ]
}

Phase 3: Layout Mapping

Show available layouts for the selected template:

python3 .claude/scripts/pptx_create.py --list-layouts <slug>

Map content to layouts using these guidelines:

Content TypeSuggested Layouts
Title/openingtitle-slide, title-slide-abba-confident-blue
Section breaksection-divider-dark-blue, section-divider-corporate-blue
Bullet pointssingle-column-text, 1-single-column-text
Two columnstwo-column-text, 5050-text-and-image
Image + textlarge-image-large-text, wide-image-and-text
Multiple images4x-images, 6x-images, 8x-images
Chart/data1x-chart-white, 5-two-content
Thank you/closethank-you-image, 1-thank-you-image
Agenda8x-agenda

Phase 4: Preview Plan

Before generating, show the plan:

python3 .claude/scripts/pptx_create.py --template <slug> --content <spec.json> --dry-run

Present as:

Planned Presentation: "Q1 Architecture Review"
Template: BAAE Community Day Feb2026

  1. [title-slide] Q1 2026 Architecture Review
  2. [section-divider-dark-blue] Programme Updates
  3. [single-column-text] Alpha Status
  4. [two-column-text] Before / After
  5. [large-image-large-text] Architecture Diagram
  6. [thank-you-image] Thank You

Proceed with generation?

Phase 5: Generate PPTX

Write the content specification to a temporary JSON file, then run:

python3 .claude/scripts/pptx_create.py --template <slug> --content /tmp/claude/slides.json --output "Attachments/<title>.pptx"

Phase 6: Create Vault Note (Optional)

Ask if the user wants a Concept note linking to the presentation:

---
type: Concept
title: <Presentation Title>
created: YYYY-MM-DD
modified: YYYY-MM-DD
tags:
  - presentation
  - slides
sourceType: PPTX
template: <template-slug>
slides: <count>
---

# <Presentation Title>

**Template:** <template name>
**Created:** YYYY-MM-DD
**Slides:** <count>

**File:** [[<filename>.pptx]]

## Slide Outline

1. **<slide title>** — <layout name>
2. **<slide title>** — <layout name>
...

## Related

- [[<linked project/meeting if applicable>]]

Phase 7: Report

Presentation created successfully!

  Title:     <title>
  Template:  <template name>
  Slides:    <count>
  Output:    Attachments/<filename>.pptx

Link in vault: [[<filename>.pptx]]

Next steps:
  - Open in PowerPoint to review and refine
  - Add to meeting note: [[Concept - <title>]]

Content Key Reference

KeyPlaceholder TargetValue Type
titleTitle placeholder (idx 0/1)String
subtitleSubtitle placeholder (idx 1/4)String
bodyFirst body placeholderString or list of bullets
leftFirst body (two-column)String or list
rightSecond body (two-column)String or list
imageFirst picture placeholderFile path
image_1, image_2...Nth picture placeholderFile path
notesSpeaker notesString

Error Handling

ErrorSolution
Template not foundRun /pptx-templates to see available templates
Layout not foundCheck layout slugs with --list-layouts
Image not foundVerify path relative to vault root
Output path issueCheck Attachments/ directory exists

Integration with Other Skills

  • /pptx-extract-template — Extract templates from existing presentations
  • /pptx-templates — Browse the template library
  • /architecture-report — Generate architecture reports as presentations
  • /project-report — Create project status presentations

Dependencies

  • python-pptx — PPTX creation
  • Template must be extracted first with /pptx-extract-template

Signals

GitHub stars
52
Forks
12
Last commit
Mar 2026
Advanced
Catalog kind
skill
Gateway key
pptx-create
Source
github.com/davidroliverba/architectkb