PowerPoint PPTX
Create, edit, and automate PowerPoint presentations with python-pptx for slides, layouts, charts, and batch processing.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/ivangdavila/powerpoint-pptxWhen to Use
User needs to create or modify PowerPoint (.pptx) files programmatically. Agent handles slide creation, content population, chart generation, and template automation.
Quick Reference
| Topic | File |
|---|---|
| Slide patterns | slides.md |
| Charts and tables | charts.md |
| Design guidelines | design.md |
Core Rules
1. Use python-pptx Library
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.enum.text import PP_ALIGN
from pptx.dml.color import RgbColor
Install: pip install python-pptx
2. Presentation Structure
# Create new presentation
prs = Presentation()
# Or load existing template
prs = Presentation('template.pptx')
# Add slide with layout
slide_layout = prs.slide_layouts[1] # Title and Content
slide = prs.slides.add_slide(slide_layout)
# Save
prs.save('output.pptx')
3. Slide Layouts (Built-in)
| Index | Layout Name | Use Case |
|---|---|---|
| 0 | Title Slide | Opening slide |
| 1 | Title and Content | Standard content |
| 2 | Section Header | Chapter dividers |
| 3 | Two Content | Side-by-side |
| 4 | Comparison | Before/after |
| 5 | Title Only | Custom content |
| 6 | Blank | Full control |
4. Text Handling
# Access title
title = slide.shapes.title
title.text = "Slide Title"
# Access body placeholder
body = slide.placeholders[1]
tf = body.text_frame
tf.text = "First paragraph"
# Add more paragraphs
p = tf.add_paragraph()
p.text = "Second paragraph"
p.level = 1 # Indent level
5. Always Verify Output
After creating presentation:
- Check slide count matches expectation
- Verify text populated correctly
- Test charts render properly
- Save to user-specified path
Common Traps
- Layout index assumption: Layout indices vary by template. Always check
prs.slide_layoutsfirst. - Missing placeholders: Not all layouts have body placeholders. Use
slide.shapesiteration to find shapes. - Font not embedding: python-pptx uses system fonts. Stick to common fonts (Arial, Calibri) for portability.
- Image sizing: Always specify dimensions with
Inches()orPt(). Default sizing can be unpredictable. - Chart data mismatch: Category count must match data series length exactly.
Scope
This skill ONLY:
- Creates and modifies local .pptx files
- Uses python-pptx library for manipulation
- Reads templates from local filesystem
This skill NEVER:
- Uploads presentations to cloud services
- Makes network requests
- Accesses files outside the working directory without user permission
Security & Privacy
Data that stays local:
- All presentations created/modified on local filesystem
- No telemetry or external calls
This skill does NOT:
- Send presentation content externally
- Access cloud storage APIs
- Store user data persistently
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-ivangdavila-powerpoint-pptx": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
Animations
Create performant web animations with proper accessibility and timing.
Arduino
Develop Arduino projects avoiding common wiring, power, and code pitfalls.
Bulgarian
Write Bulgarian that sounds human. Not formal, not robotic, not AI-generated.
Arabic
Write Arabic that sounds human. Not formal, not robotic, not AI-generated.
Assistant
Manage tasks, communications, and scheduling with proactive and organized support.