pptx
by anthropicsUse the pptx skill to read, create, edit, split, merge, and inspect PowerPoint .pptx files. It guides you through text extraction with markitdown, thumbnail review, unpack/edit/clean/pack workflows, and PptxGenJS for new deck creation.
This skill scores 84/100, which means it is a strong directory listing candidate for agents that need to read, edit, or generate .pptx files with less guesswork than a generic prompt. The repository gives clear trigger conditions, concrete command-level workflows, and substantial helper scripts for unpacking, editing, cleaning, validating, and thumbnailing presentations, though users should still expect some manual environment setup and low-level XML work for template editing.
- Very strong triggerability: SKILL.md explicitly says to use it whenever a .pptx file is input, output, or mentioned as a deck/slides/presentation.
- Operationally concrete: quick-reference commands cover text extraction, thumbnails, raw XML unpacking, template editing, and scratch creation via separate guides.
- Real execution leverage: bundled scripts like add_slide.py, clean.py, thumbnail.py, and office pack/unpack/validate tools reduce manual PPTX manipulation work.
- Install and dependency setup are not clearly documented in SKILL.md, despite relying on tools like markitdown, LibreOffice/soffice, Python packages, and PptxGenJS.
- Template editing leans on direct XML manipulation of unpacked PPTX internals, which is powerful but raises complexity and adoption risk for less technical users.
Overview of pptx skill
What pptx is for
The pptx skill is for any workflow where a PowerPoint .pptx file must be read, created, edited, split, merged, or used as a template. It is a practical pptx skill, not just a prompt pattern: it points you to concrete commands and helper scripts for extracting content, generating slide thumbnails, unpacking the Office XML structure, editing safely, and repacking the deck.
Best-fit users
This skill is best for people who need more control than “make me slides”:
- analysts extracting text or structure from decks
- teams updating an existing branded presentation
- agents transforming one deck into another
- users creating a new presentation when no template exists
- developers comfortable using Python or JavaScript utilities around
.pptx
Real job-to-be-done
Most users do not merely want “PowerPoint help.” They want one of two outcomes:
- understand what is inside a deck quickly, or
- change a deck without breaking layout, references, or packaging.
The pptx skill is valuable because it separates those paths clearly: use markitdown and thumbnails for inspection, use XML unpack/edit/clean/pack for template-based editing, or use PptxGenJS when creating from scratch.
What makes pptx different from a generic prompt
A generic AI prompt can draft slide content, but it usually cannot reliably preserve real presentation structure. The pptx skill gives you an execution path:
python -m markitdown presentation.pptxfor text extractionpython scripts/thumbnail.py presentation.pptxfor visual layout reviewpython scripts/office/unpack.py ...andpack.pyfor low-level editingpython scripts/clean.py unpacked/to remove orphaned filespptxgenjs.mdfor code-first deck creation
That makes pptx for PowerPoint especially useful when formatting, template fidelity, or deck surgery matters.
Key tradeoffs before you install
This skill is strongest when you need deterministic handling of .pptx files. It is less ideal if you only need slide copy and do not care about output structure. It also assumes some comfort with file-based workflows. If you want polished presentation writing only, a normal prompting workflow may be faster. If you need to preserve a real deck, the pptx skill is the better fit.
How to Use pptx skill
Install context for pptx
Install the skill in your skills-compatible environment:
npx skills add https://github.com/anthropics/skills --skill pptx
After install, open the skill directory and read these files first:
SKILL.mdediting.mdpptxgenjs.mdscripts/thumbnail.pyscripts/add_slide.pyscripts/clean.py
This reading order mirrors the actual decision tree: inspect, choose editing path, then use the right tooling.
Choose the right pptx usage path first
Do not start editing before deciding which mode fits your job:
- Read/analyze content: use
markitdownand thumbnail generation - Edit an existing deck or template: use unpack/edit/clean/pack
- Create a deck from scratch: use the
PptxGenJSpath inpptxgenjs.md
This is the biggest adoption shortcut. Many failed pptx usage attempts come from mixing template editing with scratch generation.
Read deck content quickly
For content extraction, start with:
python -m markitdown presentation.pptx
Use this when you need:
- slide text for summarization
- placeholder text discovery
- rough content inventory
- notes or copy migration planning
Then add:
python scripts/thumbnail.py presentation.pptx
The text view tells you what the deck says; the thumbnail grid tells you how the deck is designed. Together they reduce guesswork before any edits.
Use thumbnails before editing layouts
thumbnail.py is one of the most useful parts of the skill because it makes layout selection visible. It labels slides by XML filename, which matters later when editing slide{N}.xml. For template-based work, generate thumbnails first so you can map each content section to an appropriate existing layout instead of reusing the same generic slide type.
Edit an existing presentation safely
For template-based editing, the repository’s workflow is:
- Analyze the source deck with
markitdownandthumbnail.py - Unpack the deck:
python scripts/office/unpack.py template.pptx unpacked/ - Make structural changes first
- Edit slide XML content
- Clean the unpacked directory:
python scripts/clean.py unpacked/ - Repack:
python scripts/office/pack.py unpacked/ output.pptx
That ordering matters. Structural changes after text editing are where users often create broken references or unnecessary rework.
Make structural changes before content edits
The pptx skill explicitly encourages completing deck structure first:
- delete unwanted slides by updating
<p:sldIdLst> - duplicate a slide with
scripts/add_slide.py - create a slide from a layout when needed
- reorder slides before final text replacement
This is practical because slide numbering, relationships, and references are easier to manage before detailed content edits begin.
Use add_slide.py when cloning layouts
scripts/add_slide.py helps in two common cases:
- duplicate an existing slide like
slide2.xml - create a new slide from a layout like
slideLayout2.xml
That is better than manually copying XML files because the script follows the skill’s packaging logic and prints the <p:sldId> element you need to add to presentation.xml.
Create from scratch with PptxGenJS
If there is no usable template, switch to the pptxgenjs.md path. This route is best when:
- you control the whole deck design
- brand constraints are light
- repeatable generation matters more than matching an existing file
- the output should come from code, not XML surgery
The guide includes practical details that matter, like slide layouts, coordinate systems, and text formatting quirks such as using charSpacing rather than unsupported alternatives.
What strong inputs look like
A weak request:
- “Make a 10-slide deck about market trends.”
A stronger pptx guide input:
- audience: enterprise buyers
- purpose: board update, decision-oriented
- target length: 8 slides
- style: use an existing template, avoid dense bullets
- source materials: markdown brief, one existing
template.pptx - required sections: summary, market size, risks, recommendation
- visual preference: alternate between data, quote, and comparison layouts
This improves output because the skill can map content to layouts instead of forcing every idea into title-and-bullets slides.
Prompt for template-based pptx usage
A high-quality invocation usually includes:
- the exact
.pptxinput file - whether you need extraction, editing, or creation
- whether branding must stay unchanged
- which slides should be reused or replaced
- whether notes, comments, or hidden slides matter
- the desired final filename
Example:
“Use the pptx skill to update Q2-template.pptx. First extract text and generate thumbnails. Reuse varied layouts, not repeated bullet slides. Add 3 new slides for pricing, risks, and rollout. Preserve branding. Output an updated .pptx and summarize which source slide layouts were reused.”
Repository files worth reading in order
For faster adoption, use this path:
SKILL.md— command-level entry pointsediting.md— template-editing workflow and layout advicepptxgenjs.md— scratch creation pathscripts/thumbnail.py— how visual inspection worksscripts/add_slide.py— slide duplication and layout-based creationscripts/clean.py— cleanup logic after edits
If you are debugging packaging issues, then inspect:
scripts/office/unpack.pyscripts/office/pack.pyscripts/office/validators/pptx.py
Practical constraints that affect adoption
This pptx install decision should factor in a few realities:
- the workflow is file- and script-driven, not purely conversational
- XML-level editing is powerful but easier to break than text-only generation
- template quality strongly affects final output quality
- LibreOffice-related conversion behavior may matter for thumbnail workflows
- low-effort inputs usually produce monotonous slide mapping
If you need exact reuse of an enterprise template, this skill is strong. If you need beautiful original design from thin inputs, expect to do more iteration.
pptx skill FAQ
Is pptx beginner-friendly?
Yes, if your first use case is inspection rather than editing. Start with markitdown and thumbnail.py. Editing unpacked XML is more advanced, but the workflow files reduce trial and error compared with figuring out Office internals alone.
When should I use pptx instead of a normal slide-writing prompt?
Use pptx when the file itself matters: preserving template structure, extracting from a real deck, modifying slides in place, or packaging a valid .pptx. Use a normal prompt when you only want outline or copy and no file handling is required.
Is this pptx skill only for editing existing decks?
No. It covers both template-based editing and scratch creation. If you have a template, use editing.md. If you do not, use the PptxGenJS workflow in pptxgenjs.md.
Does pptx for PowerPoint help with reading decks too?
Yes. One of the best reasons to use this skill is reading and analyzing decks quickly. markitdown extracts text, while thumbnail.py gives a visual inventory of layouts and hidden slides.
What are the main boundaries of the skill?
The skill does not remove the complexity of PowerPoint internals. You still need to choose layouts well, manage content intentionally, and verify the final deck. It is a workflow accelerator, not a guarantee of polished presentation strategy.
When is pptx a poor fit?
Skip this skill if:
- you only need a narrative outline
- you do not need a
.pptxoutput - you are unwilling to use scripts or inspect files
- design originality matters more than preserving an existing presentation structure
Does the skill support batch or parallel work?
Partly. The workflow in editing.md suggests using parallel edits at the slide XML level after structure is finalized, because each slide is a separate file. That can speed up large-deck revisions.
How to Improve pptx skill
Start with better source materials
The fastest way to improve pptx results is to provide:
- a real template deck
- clear section-to-slide mapping
- source copy per slide
- visual priorities for each section
- any must-keep speaker notes or comments
Without those, the skill can still operate, but slide selection and content density become weaker.
Match content to layout, not vice versa
The repository’s editing guidance highlights a real failure mode: monotonous presentations. Improve results by explicitly asking for varied layouts:
- comparison slides for tradeoffs
- image-plus-text for product stories
- quote slides for testimonials
- number callouts for KPIs
- section dividers for pacing
This is one of the highest-leverage improvements for the pptx skill.
Do inspection before modification
A better workflow is:
- extract text
- generate thumbnails
- map content to layouts
- then edit
Users who skip the inspection step often overwrite the wrong slides or miss better layouts already present in the template.
Separate structural edits from text edits
Do all slide duplication, deletion, and ordering first. Then update content. This reduces broken references and avoids editing slides that later get removed. It is one of the clearest process improvements built into the skill.
Give precise slide-level instructions
Instead of:
- “Improve the deck.”
Use:
- “Reuse
slide3.xmlfor the KPI summary.” - “Duplicate the 2-column layout for customer segments.”
- “Replace text only; preserve theme and geometry.”
- “Create one new section divider between slides 5 and 6.”
These instructions fit how the pptx usage workflow actually operates.
Watch for common failure modes
Common problems include:
- overusing bullet-heavy layouts
- editing content before deciding slide order
- forgetting to run
clean.py - creating mismatched new slides when a good template layout already exists
- treating extracted text as enough without checking visual structure
These are the issues most likely to lower trust in the output.
Improve scratch generation with code-aware prompts
If using PptxGenJS, specify:
- aspect ratio like
LAYOUT_16x9 - whether coordinates should be reused consistently
- font and color constraints
- text box padding expectations
- whether rich text or multiline text is required
The included guide surfaces implementation details that materially affect output quality, such as proper multiline handling and spacing options.
Validate output quality after the first pass
After generating or editing, review:
- whether slide variety is sufficient
- whether text overflows visually
- whether hidden or notes-related content was handled correctly
- whether packaging still opens cleanly in PowerPoint
- whether the deck tells a coherent story, not just a valid file structure
A good pptx guide workflow treats the first output as a draft for refinement, not the endpoint.
Use the supporting scripts, not manual cleanup
If you edit unpacked files manually, run the cleanup and pack tools rather than zipping folders by hand. The script-based path exists to remove orphaned slides, stale relationships, and content-type leftovers that commonly break presentations.
Improve prompts by naming the deliverable
For stronger pptx outcomes, end your request with a concrete deliverable:
- updated
client-review.pptx - extracted markdown summary plus thumbnails
- new 8-slide
.pptxinLAYOUT_16x9 - template-preserving revision with 3 inserted slides
That small change helps the skill choose the right path and reduces ambiguous execution.
