From ms-office-suite
Creates, edits, and analyzes PowerPoint presentations (.pptx files), including slide design, chart and table insertion, HTML-to-PPTX conversion, and template-based generation. Activates when the user works with .pptx files or requests presentation authoring.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ms-office-suite:pptxThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This guide covers creating, editing, and analyzing PowerPoint presentations. For HTML-to-PPTX conversion, see [html2pptx.md](references/html2pptx.md). For OOXML technical details, see [ooxml.md](references/ooxml.md).
This guide covers creating, editing, and analyzing PowerPoint presentations. For HTML-to-PPTX conversion, see html2pptx.md. For OOXML technical details, see ooxml.md.
| Task | Approach | Reference |
|---|---|---|
| Read/analyze slides | Markdown conversion or raw XML | This file |
| Create from HTML | html2pptx library | html2pptx.md |
| Create from template | Python scripts | This file |
| Edit existing PPTX | Unpack/modify/repack | ooxml.md |
Important: .pptx files are ZIP archives containing XML and resources.
# Using markitdown
markitdown presentation.pptx > slides.md
# Unpack
python ooxml/scripts/unpack.py presentation.pptx unpacked/
# View slide content
cat unpacked/ppt/slides/slide1.xml
# View speaker notes
cat unpacked/ppt/notesSlides/notesSlide1.xml
python scripts/thumbnail.py presentation.pptx thumbnails/
Creates a visual grid showing all slides for quick analysis.
See html2pptx.md for complete guide.
# 1. Analyze template
python scripts/inventory.py template.pptx > inventory.json
# 2. Create replacements JSON
# Map placeholder text to new content
# 3. Apply replacements
python scripts/replace.py template.pptx replacements.json output.pptx
Choose palette based on content:
| Style | Background | Primary | Secondary | Accent |
|---|---|---|---|---|
| Corporate | FFFFFF | 2C3E50 | 34495E | 3498DB |
| Creative | F5F5F5 | E74C3C | F39C12 | 9B59B6 |
| Tech | 1A1A2E | 16213E | 0F3460 | E94560 |
| Nature | F0F4F0 | 27AE60 | 2ECC71 | 16A085 |
| Elegant | FAF9F5 | 141413 | B0AEA5 | D97757 |
Creates thumbnail grids for visual analysis.
python scripts/thumbnail.py input.pptx output_dir/ [--columns 5]
Extracts all text shapes with properties.
python scripts/inventory.py input.pptx > inventory.json
Output includes:
Applies text replacements from JSON.
python scripts/replace.py input.pptx replacements.json output.pptx
Replacements format:
{
"slide_1": {
"shape_2": "New title text",
"shape_5": "Updated bullet points"
}
}
Duplicates, reorders, or deletes slides.
python scripts/rearrange.py input.pptx operations.json output.pptx
Operations format (0-indexed):
{
"operations": [
{"action": "duplicate", "source": 0, "count": 2},
{"action": "delete", "index": 5},
{"action": "move", "from": 3, "to": 1}
]
}
Validates PPTX structure and content.
python ooxml/scripts/validate.py output.pptx
Checks:
python ooxml/scripts/unpack.py input.pptx unpacked/python ooxml/scripts/validate.py unpacked/python ooxml/scripts/pack.py unpacked/ output.pptx<a:t> elements in slide XMLppt/media/, update relationshipspresentation.xml <p:sldIdLst>See ooxml.md for detailed XML patterns.
# Python
pip install markitdown python-pptx Pillow defusedxml
# JavaScript (for html2pptx)
npm install pptxgenjs playwright sharp
# System tools (for thumbnails)
brew install libreoffice poppler # macOS
apt-get install libreoffice poppler-utils # Ubuntu
npx claudepluginhub jawhnycooke/claude-plugins --plugin ms-office-suiteCreates, edits, and processes PowerPoint (.pptx) files: builds slides from HTML, rewrites templates, performs OOXML editing, and validates output with thumbnails.
Creates, edits, and analyzes PowerPoint (.pptx) presentations via markdown conversion and raw XML. Useful for generating slide decks, extracting content, or modifying layouts/notes.
Creates, edits, and analyzes PowerPoint (.pptx) presentations via markdown conversion and raw XML. Useful for generating slide decks, extracting content, or modifying layouts/notes.