---
name: pptx-skill
description: "Create and edit PowerPoint decks — slides, layouts, speaker notes, templates — all programmatically. Anthropic's official PPTX handler. Creates pitch decks, extracts text from .pptx files, edits existing presentations, manages templates and layouts, and works with speaker notes and comments."
license: MIT
---

# PPTX Skill

The official Anthropic skill for working with PowerPoint files. It lets Claude build new `.pptx` decks from scratch, read and extract content out of existing ones, and edit slides in place — text, images, tables, speaker notes, and layouts — by operating on the underlying Office Open XML rather than screenshotting or guessing. It's aimed at anyone who lives in slides: founders writing pitch decks, analysts turning data into board readouts, and teams that need to programmatically restyle or update dozens of decks.

## When to use it

- Generating a pitch deck, quarterly review, or training deck from an outline or a pile of notes.
- Pulling the text out of a `.pptx` to summarize it, feed it into an email, or diff two versions.
- Editing an existing deck: swapping copy, replacing a logo, fixing a chart, updating speaker notes — without flattening the original formatting.
- Applying a corporate template/theme so every slide inherits the right fonts, colors, and master layouts.

## How it works

The skill leans on the `python-pptx` library for the structured work — `Presentation()`, `slides.add_slide(layout)`, `shapes.title`, `placeholders`, `add_textbox`, `add_picture`, `add_table`, and `notes_slide.notes_text_frame` for speaker notes. For things python-pptx can't reach (theme colors, comments, certain layout tweaks), it unzips the `.pptx` (it's a ZIP of XML parts under `ppt/slides/`, `ppt/slideLayouts/`, `ppt/theme/`) and edits the XML directly. For reading, it walks every slide's shape tree to extract text, tables, and notes. To verify visual results it renders slides to images (e.g. via LibreOffice headless) so Claude can actually see the output it produced.

## Usage

```
curl -fsSL --create-dirs -o ~/.claude/skills/pptx-skill/SKILL.md https://claudeskil.com/skills/pptx-skill/SKILL.md

# then, in Claude:
"Create a 10-slide seed pitch deck for my AI tutoring startup,
 using brand.pptx as the template, and put a one-line talking
 point in the speaker notes of each slide."

"Extract all the text and speaker notes from Q3-review.pptx."

"In roadmap.pptx, replace every 'Q2 2025' with 'Q3 2025' and
 swap the title-slide logo for new-logo.png."
```

## Tips & gotchas

- Start from a template when branding matters. Adding slides with a chosen slide layout makes them inherit master fonts/colors; building blank slides and styling each run by hand is fragile.
- Placeholder indices vary per layout. Inspect `slide.slide_layout.placeholders` before assuming index 1 is the body.
- python-pptx does not render — if you need to confirm spacing or overflow, ask for a rendered preview image.
- Editing charts created in PowerPoint often means touching the embedded chart XML/data; plan for XML-level edits there.

## FAQ

**Can it edit an existing deck without wrecking the formatting?**
Yes — it modifies the specific shapes/runs you target and leaves the rest of the OOXML untouched, so masters, themes, and animations survive.

**Does it keep speaker notes and comments?**
Notes are fully read/written via the notes slide. Comments live in separate XML parts and are handled at the XML level.

**What about images and tables?**
Both are supported — insert pictures with positions/sizes in EMUs, and build native tables with per-cell text and formatting.
