Create, read, edit, and organize PPTX presentations, text, notes, and layouts.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "pptx" skill from askskill: 1. Download https://raw.githubusercontent.com/anthropics/skills/main/skills/pptx/SKILL.md 2. Save it as ~/.claude/skills/pptx/SKILL.md 3. Reload skills and tell me it's ready
A .pptx is a ZIP archive of XML files. Choose your approach by task:
| Task | Approach |
|---|---|
| Create a new deck | Write a pptxgenjs script — see gotchas below |
| Edit an existing deck, or build from a template | unzip → edit ppt/slides/slideN.xml → zip |
| Read content | markitdown deck.pptx (one block per slide under <!-- Slide number: N --> markers); visual grid: python scripts/thumbnail.py deck.pptx |
Paths are relative to this skill's directory. Everything else is plain Python, node, or shell.
| Script | What it does |
|---|---|
scripts/thumbnail.py deck.pptx [prefix] | Labeled grid of every slide, for picking template layouts. .pptx only. Pass prefix — it defaults to thumbnails, which overwrites the grids of any other deck done in the same directory |
scripts/add_slide.py unpacked/ slide2.xml [--after slideN.xml] | Duplicate a slide (or a slideLayoutN.xml) with all the package bookkeeping. Also takes a .pptx directly with -o out.pptx |
scripts/clean.py unpacked/ | Delete slides, media, and rels no longer referenced. Run after <p:sldIdLst> is final |
scripts/office/validate.py deck.pptx [--original src.pptx] | Schema, relationship, content-type, chart and slide checks; each failure names its fix. Pass --original for any template-derived deck — it baselines the schema checks against the template, so the template's own XSD errors don't read as yours |
scripts/office/soffice.py --headless --convert-to pdf deck.pptx | LibreOffice wrapper — bare soffice hangs in this sandbox |
pptxgenjs is preinstalled — do not run npm install first; write the script and require('pptxgenjs') directly. Only if that require fails: npm install pptxgenjs. The model knows the API; these are the footguns:
pres.layout before adding slides. The default canvas is LAYOUT_16x9 = 10" × 5.625", not 13.3" wide. Coordinates past the edge are written, not clamped — the shape just isn't on the slide. (LAYOUT_WIDE is 13.3" × 7.5".)#, never 8 digits. color: "FF0000". Both "#FF0000" and alpha baked into the hex ("00000020") corrupt the file. For translucency: transparency: 0-100 on fills and images, opacity: 0.0-1.0 on shadows — each is silently ignored on the other.shadow/options object across two add* calls — build a fresh object each time.offset must be ≥ 0 — a negative offset corrupts the file. To cast a shadow upward, use angle: 270 with a positive offset.letterSpacing is silently ignored — the real option is charSpacing.bullet: true on each item, never a literal • (renders double bullets). Set breakLine: true on every array item except the last. Space bulleted paragraphs with paraSpaceAfter, not lineSpacing (huge gaps).new pptxgen() per output file — never reuse an instance.rectRadius only works on ROUNDED_RECTANGLE, not RECTANGLE.margin: 0 whenever text must align with a shape, line, or icon at the same x.slide.addNotes("...") (plain text, once per slide), never in a text box on the slide.addChart() for everything PowerPoint can chart (pass an array of {type, data, options} for combos). For PowerPoint-native features the library doesn't expose (trendlines, error bars), compute the extra series yourself or post-process the generated OOXML — do not fall back to a rendered image. Only chart types PowerPoint has no native form for (Sankey, network, chord) go in as images.…
Create Slack-ready animated GIFs with optimized specs, validation, and animation guidance.
Design and generate polished, production-ready frontend interfaces and web component code.
Read, extract, edit, merge, split, OCR, and create PDF documents.
Build complex web artifacts with React, Tailwind, and shadcn/ui components.
Open, edit, clean, convert, or create spreadsheet files and tabular data.
Find matching Claude Academy courses, tutorials, and learning resources.
Process slide decks locally with templates, checks, HTML-to-PowerPoint, and PPTX rescue.
Create academic slide decks with clear structure, citations, and presentation-focused design.
Clone any PPT template into a new deck with your own content.
Create, edit, and polish professional Word documents and .docx files.
Create animation-rich web presentations or convert PowerPoint decks for talks and pitches.
Generate, update, and manage PowerPoint decks with YAML-driven Python scripts.