/pptx-create
SkillDocs & knowledgeCreate PowerPoint presentations from the template library
Available today. Use it from your connected AI after setup.
No other account needed.
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
- If
--templateprovided, load that template - 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:
- Ask for the presentation structure (sections/topics)
- For each section, ask for key points
- Map each section to an appropriate layout
Option B: From Vault Note
If --from <note-path> is provided:
- Read the vault note
- Extract headings, key points, and relationships
- 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 Type | Suggested Layouts |
|---|---|
| Title/opening | title-slide, title-slide-abba-confident-blue |
| Section break | section-divider-dark-blue, section-divider-corporate-blue |
| Bullet points | single-column-text, 1-single-column-text |
| Two columns | two-column-text, 5050-text-and-image |
| Image + text | large-image-large-text, wide-image-and-text |
| Multiple images | 4x-images, 6x-images, 8x-images |
| Chart/data | 1x-chart-white, 5-two-content |
| Thank you/close | thank-you-image, 1-thank-you-image |
| Agenda | 8x-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
| Key | Placeholder Target | Value Type |
|---|---|---|
title | Title placeholder (idx 0/1) | String |
subtitle | Subtitle placeholder (idx 1/4) | String |
body | First body placeholder | String or list of bullets |
left | First body (two-column) | String or list |
right | Second body (two-column) | String or list |
image | First picture placeholder | File path |
image_1, image_2... | Nth picture placeholder | File path |
notes | Speaker notes | String |
Error Handling
| Error | Solution |
|---|---|
| Template not found | Run /pptx-templates to see available templates |
| Layout not found | Check layout slugs with --list-layouts |
| Image not found | Verify path relative to vault root |
| Output path issue | Check 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