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
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.
Alerts
Smart alerting patterns for AI agents - deduplication, routing, escalation, and fatigue prevention