pptx
Use this skill any time a .pptx file is involved in any way -- as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file; editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments.
Saker · 用法翻译
Install · 安装
npx skills add https://github.com/anthropics/skills/tree/main/skills/pptx # 或:cp -r SKILL.md ~/.claude/skills/pptx/
Skill 文档 · 原文
PPTX Skill
Quick Reference
| Task | Guide | |------|-------| | Read/analyze content | python -m markitdown presentation.pptx | | Edit or create from template | See editing guide | | Create from scratch | See pptxgenjs guide |
Reading Content
# Text extraction
python -m markitdown presentation.pptx
# Visual overview
python scripts/thumbnail.py presentation.pptx
# Raw XML
python scripts/office/unpack.py presentation.pptx unpacked/Editing Workflow
- Analyze template with
thumbnail.py - Unpack > manipulate slides > edit content > clean > pack
Creating from Scratch
Use when no template or reference presentation is available.
Design Ideas
Don't create boring slides. Plain bullets on a white background won't impress anyone. Consider ideas from this list for each slide.
Before Starting
- Pick a bold, content-informed color palette: The palette should feel designed for THIS topic. If swapping your colors into a completely different presentation would still "work," you haven't made specific enough choices.
- Dominance over equality: One color should dominate (60-70% visual weight), with 1-2 supporting tones and one sharp accent. Never give all colors equal weight.
- Dark/light contrast: Dark backgrounds for title + conclusion slides, light for content ("sandwich" structure). Or commit to dark throughout for a premium feel.
- Commit to a visual motif: Pick ONE distinctive element and repeat it -- rounded image frames, icons in colored circles, thick single-side borders. Carry it across every slide.
Color Palettes
Choose colors that match your topic -- don't default to generic blue. Use these palettes as inspiration:
| Theme | Primary | Secondary | Accent | |-------|---------|-----------|--------| | Midnight Executive | 1E2761 (navy) | CADCFC (ice blue) | FFFFFF (white) | | Forest & Moss | 2C5F2D (forest) | 97BC62 (moss) | F5F5F5 (cream) | | Coral Energy | F96167 (coral) | F9E795 (gold) | 2F3C7E (navy) | | Warm Terracotta | B85042 (terracotta) | E7E8D1 (sand) | A7BEAE (sage) | | Ocean Gradient | 065A82 (deep blue) | 1C7293 (teal) | 21295C (midnight) | | Charcoal Minimal | 36454F (charcoal) | F2F2F2 (off-white) | 212121 (black) | | Teal Trust | 028090 (teal) | 00A896 (seafoam) | 02C39A (mint) | | Berry & Cream | 6D2E46 (berry) | A26769 (dusty rose) | ECE2D0 (cream) | | Sage Calm | 84B59F (sage) | 69A297 (eucalyptus) | 50808E (slate) | | Cherry Bold | 990011 (cherry) | FCF6F5 (off-white) | 2F3C7E (navy) |
For Each Slide
Every slide needs a visual element -- image, chart, icon, or shape. Text-only slides are forgettable.
Layout options:
- Two-column (text left, illustration on right)
- Icon + text rows (icon in colored circle, bold header, description below)
- 2x2 or 2x3 grid (image on one side, grid of content blocks on other)
- Half-bleed image (full left or right side) with content overlay
Data display:
- Large stat callouts (big numbers 60-72pt with small labels below)
- Comparison columns (before/after, pros/cons, side-by-side options)
- Timeline or process flow (numbered steps, arrows)
Visual polish:
- Icons in small colored circles next to section headers
- Italic accent text for key stats or taglines
Typography
Choose an interesting font pairing -- don't default to Arial. Pick a header font with personality and pair it with a clean body font.
| Header Font | Body Font | |-------------|-----------| | Georgia | Calibri | | Arial Black | Arial | | Calibri | Calibri Light | | Cambria | Calibri | | Trebuchet MS | Calibri | | Impact | Arial | | Palatino | Garamond | | Consolas | Calibri |
| Element | Size | |---------|------| | Slide title | 36-44pt bold | | Section header | 20-24pt bold | | Body text | 14-16pt | | Captions | 10-12pt muted |
Spacing
- 0.5" minimum margins
- 0.3-0.5" between content blocks
- Leave breathing room -- don't fill every inch
Avoid (Common Mistakes)
- Don't repeat the same layout -- vary columns, cards, and callouts across slides
- Don't center body text -- left-align paragraphs and lists; center only titles
- Don't skimp on size contrast -- titles need 36pt+ to stand out from 14-16pt body
- Don't default to blue -- pick colors that reflect the specific topic
- Don't mix spacing randomly -- choose 0.3" or 0.5" gaps and use consistently
- Don't style one slide and leave the rest plain -- commit fully or keep it simple throughout
- Don't create text-only slides -- add images, icons, charts, or visual elements
- Don't forget text box padding -- when aligning lines or shapes with text edges, set
margin: 0on the text box - Don't use low-contrast elements -- icons AND text need strong contrast
- NEVER use accent lines under titles -- use whitespace or background color instead
QA (Required)
Assume there are problems. Your job is to find them.
Content QA
python -m markitdown output.pptxCheck for missing content, typos, wrong order.
When using templates, check for leftover placeholder text:
python -m markitdown output.pptx | grep -iE "xxxx|lorem|ipsum|this.*(page|slide).*layout"Visual QA
USE SUBAGENTS -- even for 2-3 slides. You've been staring at the code and will see what you expect, not what's there. Subagents have fresh eyes.
Convert slides to images, then visually inspect for:
- Overlapping elements
- Text overflow or cut off
- Low-contrast text or icons
- Uneven gaps
- Leftover placeholder content
Verification Loop
- Generate slides > Convert to images > Inspect
- List issues found (if none found, look again more critically)
- Fix issues
- Re-verify affected slides
- Repeat until a full pass reveals no new issues
Do not declare success until you've completed at least one fix-and-verify cycle.
Converting to Images
Convert presentations to individual slide images for visual inspection:
python scripts/office/soffice.py --headless --convert-to pdf output.pptx
pdftoppm -jpeg -r 150 output.pdf slideThis creates slide-01.jpg, slide-02.jpg, etc.
Dependencies
pip install "markitdown[pptx]"- text extractionpip install Pillow- thumbnail gridsnpm install -g pptxgenjs- creating from scratch- LibreOffice (
soffice) - PDF conversion - Poppler (
pdftoppm) - PDF to images