
Anthropic's `pptx` skill (inside the 142,000-star `anthropics/skills` repo) goes beyond 'generate slides': 10 named color palettes, 8 font pairings, 10 explicit anti-AI-slop design rules, and a mandatory QA loop that spawns fresh subagents to visually inspect every render before declaring success. The article covers all three operational modes, the full dependency stack, 4 open bugs (including macOS .DS_Store contamination, Keynote OOXML failure, Docker LibreOffice retry, and Windows AF_UNIX crash), and six specific 'when NOT to use' scenarios.
pptx skill, part of the official anthropics/skills repository (142,000 stars, 16,800 forks as of May 2026), takes a different position: the skill ships 10 named color palettes, 8 typography pairings, 10 explicit "never do this" design rules, and a mandatory QA loop that treats every first render as a bug-ridden draft. 1 It doesn't just generate slides — it forces a design discipline onto the generation process.pptx skill handles three distinct workflows, triggered any time a .pptx file is "involved in any way — as input, output, or both" 2:python -m markitdown — extract text, structure, and content for downstream tasks.pptx files programmaticallydocument-skills plugin alongside docx, pdf, and xlsx. All four are labeled "source-available, not open source" — Anthropic describes them as the skills that "power Claude's document capabilities under the hood," shared for developer reference. 1# Register the marketplace first (if not already done)
/plugin marketplace add anthropics/skills
# Then install
/plugin install document-skills@anthropic-agent-skillspip install "markitdown[pptx]" Pillow
npm install -g pptxgenjs
npm install -g react-icons react react-dom sharp # for icon rendering
# Plus: LibreOffice (soffice) and Poppler (pdftoppm) from your system package manager| Palette name | 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 | #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 | #00A896 seafoam | #02C39A mint |
| Berry & Cream | #6D2E46 berry | #A26769 dusty rose | #ECE2D0 cream |
| Sage Calm | #84B59F | #69A297 eucalyptus | #50808E slate |
| Cherry Bold | #990011 cherry | #FCF6F5 off-white | #2F3C7E navy |
margin: 0 when aligning text with shapes# (causes file corruption), never encode opacity as an 8-character hex string, and never reuse option objects across addSlide calls — PptxGenJS mutates them in place..pptx file via the editing or PptxGenJS workflow.soffice --headless --convert-to pdf output.pptx
pdftoppm -jpeg -r 150 output.pdf slide
# produces slide-01.jpg, slide-02.jpg, etc.python -m markitdown output.pptx and grep for placeholder residue:grep -iE "xxxx|lorem|ipsum|this.*(page|slide).*layout".DS_Store bundling (issue #1012, reported April 23, 2026): On macOS, pack.py includes Finder-generated .DS_Store files in the output .pptx. Microsoft Office, which checks against the [Content_Types].xml manifest per OOXML spec, surfaces a repair dialog or refuses to open the file. LibreOffice handles it silently, so CI tests pass without catching this. 7python-pptx fail to import into Apple Keynote due to three OOXML compliance issues: widescreen dimensions declared alongside a screen4x3 type flag, a missing notesMasterIdLst element, and an embedded Windows printer settings stub. PowerPoint and LibreOffice open the files without complaint. 8 The workaround MYCL94 found: upload through OneDrive and re-download — PowerPoint Online silently normalizes the OOXML structure during the round-trip.soffice --convert-to fails intermittently in containerized environments because of stale .~lock.* files, concurrent processes, or corrupted user profiles. The original code called soffice once with no retry and swallowed stderr into a generic error message. 9 PR #1043 adds a --norestore flag, three retries with 2-second intervals, lock-file cleanup, and a 120-second timeout. The fix was submitted but had not merged as of the most recent repo check.socket.AF_UNIX is not available on Windows Python, which causes pptx, docx, and xlsx skills to crash on startup. 10 A fix was submitted but unmerged..DS_Store contamination in pack.py means Microsoft Office will flag your output as potentially corrupt. If your delivery target is a stakeholder using Office on Windows, they'll see a repair dialog before they see your slides.soffice.py manually if this environment is part of your deployment.| Field | Value |
|---|---|
| Skill | pptx (part of document-skills plugin) |
| Repository | anthropics/skills — 142,000 stars, 16,800 forks |
| License | Proprietary (source-available, not open source) |
| Last commit | 2026-05-19 by rlancemartin |
| Supported agents | Claude Code, Claude.ai (paid plans), Claude API (Skills API), Claude Agent SDK |
| Claude for PowerPoint | Pro, Max, Team, Enterprise plans; PowerPoint web / Windows (16.0.13127.20296+) / Mac (16.46+) |
| Open bugs | #1012 (macOS .DS_Store), #1167 (Keynote import), #1043 (Docker LibreOffice retry — fix pending), #1158 (Windows AF_UNIX crash — fix pending) |
github.com
raw.githubusercontent.com
support.claude.com
support.claude.com
github.com
这条内容由频道自动生产。你也可以用一句话,让 Neodrop 为你持续生产。