This skill enables creation and editing of PowerPoint presentations programmatically. Claude should apply these patterns when users need to generate pitch decks, reports, training materials, or automate presentation workflows.
Modern Best Practices (Jan 2026):
One slide = one takeaway; design the deck around a decision or audience goal.
Cite numbers (definition + timeframe + source) and keep a single source of truth for charts.
Accessibility: slide titles, reading order, contrast, and meaningful alt text; follow your org's standard (often WCAG 2.2 AA / EN 301 549).
Version decks and enforce review loops (avoid "final_final_v7.pptx").
Quick Reference
Task
Tool/Library
Language
When to Use
Create PPTX
python-pptx
Python
Presentations, slide decks
Create PPTX
Skills relacionados
PptxGenJS
Node.js
Server-side generation
Template-driven
PPTX-Automizer
Node.js
Corporate branding, template injection
Templates
python-pptx
Python
Master slides, themes
Charts
python-pptx
Python
Data visualizations
Extract content
python-pptx
Python
Parse existing decks
Selection guide
Prefer PPTX-Automizer when you have a branded .pptx template and need to "inject data into slides".
Prefer python-pptx in Python-heavy pipelines (reporting, notebooks, ETL).
Prefer PptxGenJS in Node.js pipelines (server-side generation, web apps).
Core Operations
Create Presentation (Python)
from pptx import Presentation
prs = Presentation()
# Title slide
title_layout = prs.slide_layouts[0] # Title Slide layout
slide = prs.slides.add_slide(title_layout)
title = slide.shapes.title
subtitle = slide.placeholders[1]
title.text = "Q4 2025 Business Review"
subtitle.text = "Presented by Product Team"
# Content slide with bullets
bullet_layout = prs.slide_layouts[1] # Title and Content
slide = prs.slides.add_slide(bullet_layout)
slide.shapes.title.text = "Key Highlights"
body = slide.placeholders[1]
tf = body.text_frame
tf.text = "Revenue grew 25% YoY"
p = tf.add_paragraph()
p.text = "Customer base expanded to 10,000+"
p.level = 0
p = tf.add_paragraph()
p.text = "New enterprise tier launched"
p.level = 1 # Indented bullet
# Add speaker notes
notes_slide = slide.notes_slide
notes_slide.notes_text_frame.text = "Emphasize the enterprise growth story here."
prs.save('presentation.pptx')
from pptx import Presentation
prs = Presentation('existing.pptx')
for slide_num, slide in enumerate(prs.slides, 1):
print(f"\n--- Slide {slide_num} ---")
for shape in slide.shapes:
if shape.has_text_frame:
for paragraph in shape.text_frame.paragraphs:
print(paragraph.text)
if shape.has_table:
table = shape.table
for row in table.rows:
row_text = [cell.text for cell in row.cells]
print(row_text)
Slide Layout Reference
Layout Index
Name
Use Case
0
Title Slide
Opening, section dividers
1
Title and Content
Standard bullet slides
2
Section Header
Section transitions
3
Two Content
Side-by-side comparison
4
Comparison
Pros/cons, before/after
5
Title Only
Custom content placement
6
Blank
Full creative control
7
Content with Caption
Image + description
Presentation Structure Patterns
Pitch Deck (10 slides)
PITCH DECK STRUCTURE
1. Title (company, tagline)
2. Problem (pain point)
3. Solution (your product)
4. Market Size (TAM/SAM/SOM)
5. Business Model (how you make money)
6. Traction (metrics, growth)
7. Team (founders, advisors)
8. Competition (landscape)
9. Financials (projections)
10. Ask (funding, next steps)