Skip to content
cccskills
FreePublished on GitHub

pptx-create

Create PowerPoint presentations from the template library

The English summary is being prepared. Showing the original description.

Works withPowerPoint
See how to install

Files included (1)

  • SKILL.md6.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

/pptx-create

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

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Batch populate summary fields using content analysis

The English summary is being prepared. Showing the original description.

DavidROliverBA/ArchitectKB53Updated Mar 2, 2026

Batch auto-tag untagged notes using content analysis

The English summary is being prepared. Showing the original description.

DavidROliverBA/ArchitectKB53Updated Mar 2, 2026

Generate C4 architecture diagrams from system notes

The English summary is being prepared. Showing the original description.

DavidROliverBA/ArchitectKB53Updated Mar 2, 2026

canvas

Free

Create and edit Obsidian Canvas files for architecture visualization

The English summary is being prepared. Showing the original description.

DavidROliverBA/ArchitectKB53Updated Mar 2, 2026

Check Outlook inbox and update daily note with message summary

The English summary is being prepared. Showing the original description.

DavidROliverBA/ArchitectKB53Updated Mar 2, 2026

commit

Free

Stage and commit vault changes with UK English conventional commit messages

The English summary is being prepared. Showing the original description.

DavidROliverBA/ArchitectKB53Updated Mar 2, 2026

See all skills by DavidROliverBA

Report a problem with this skill