
Pptx
Create, edit, and inspect .pptx decks inside your coding agent without opening PowerPoint manually.
Overview
PPTX is an agent skill most often used in Build (also Validate, Launch) that creates, edits, and analyzes .pptx presentations via markdown extraction or raw OOXML unpack workflows.
Install
npx skills add https://github.com/appautomaton/document-skills --skill pptxWhat is this skill?
- Full .pptx lifecycle: create decks, edit content, analyze structure, layouts, comments, and speaker notes
- Fast text extraction via markitdown (`uv run python -m markitdown path-to-file.pptx`)
- Raw OOXML workflow: unpack office files with `ooxml/scripts/unpack.py` for XML-level edits
- Supports complex formatting, animations, and design elements when markdown conversion is insufficient
- Proprietary license—terms live in LICENSE.txt
Adoption & trust: 647 installs on skills.sh; 107 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need agent-readable presentation content or precise slide edits, but dumping a .pptx into chat loses notes, layout, and OOXML structure.
Who is it for?
Solo builders generating pitch decks, training slides, or release presentations from the same repo as their product.
Skip if: Teams that only need a one-off PDF export with no agent-side editing, or environments blocked from Python/uv and local file unpack.
When should I use this skill?
Claude needs to work with presentations (.pptx) for creating new decks, modifying content, layouts, comments, speaker notes, or other presentation tasks.
What do I get? / Deliverables
After the skill runs you have extracted markdown or unpacked XML paths so the agent can modify slides and repackage a valid .pptx.
- Markdown extraction of slide text
- Edited or new .pptx file after OOXML workflow
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Slide work is filed under Build → docs because agents most often produce or revise presentation artifacts alongside product documentation and deliverables. Docs subphase covers structured office files (.pptx) that ship with specs, pitches, and internal enablement—not live app UI.
Where it fits
Turn a problem-statement outline into a scoped deck for stakeholder sign-off before build.
Update architecture slides and speaker notes in the same sprint as API documentation.
Refresh go-to-market slides with final screenshots without retyping content from markdown.
How it compares
Use for procedural .pptx manipulation in the agent—not a slide-design MCP with a WYSIWYG canvas.
Common Questions / FAQ
Who is pptx for?
Indie developers and small teams who want Claude Code, Cursor, or similar agents to read, draft, or surgically edit PowerPoint files as part of shipping and storytelling.
When should I use pptx?
Use it when validating a narrative (scope decks), building docs deliverables, or preparing launch distribution slides—especially when you need speaker notes, comments, or layout-aware OOXML edits.
Is pptx safe to install?
Review the Security Audits panel on this Prism page and confirm you are comfortable with proprietary license terms in LICENSE.txt before enabling filesystem and shell execution in your agent.
SKILL.md
READMESKILL.md - Pptx
# PPTX creation, editing, and analysis ## Overview A user may ask you to create, edit, or analyze the contents of a .pptx file. A .pptx file is essentially a ZIP archive containing XML files and other resources that you can read or edit. You have different tools and workflows available for different tasks. ## Reading and analyzing content ### Text extraction If you just need to read the text contents of a presentation, you should convert the document to markdown: ```bash # Convert document to markdown uv run python -m markitdown path-to-file.pptx ``` ### Raw XML access You need raw XML access for: comments, speaker notes, slide layouts, animations, design elements, and complex formatting. For any of these features, you'll need to unpack a presentation and read its raw XML contents. #### Unpacking a file `uv run python ooxml/scripts/unpack.py <office_file> <output_dir>` **Note**: The unpack.py script is located at `skills/pptx/ooxml/scripts/unpack.py` relative to the project root. If the script doesn't exist at this path, use `find . -name "unpack.py"` to locate it. #### Key file structures * `ppt/presentation.xml` - Main presentation metadata and slide references * `ppt/slides/slide{N}.xml` - Individual slide contents (slide1.xml, slide2.xml, etc.) * `ppt/notesSlides/notesSlide{N}.xml` - Speaker notes for each slide * `ppt/comments/modernComment_*.xml` - Comments for specific slides * `ppt/slideLayouts/` - Layout templates for slides * `ppt/slideMasters/` - Master slide templates * `ppt/theme/` - Theme and styling information * `ppt/media/` - Images and other media files #### Typography and color extraction **When given an example design to emulate**: Always analyze the presentation's typography and colors first using the methods below: 1. **Read theme file**: Check `ppt/theme/theme1.xml` for colors (`<a:clrScheme>`) and fonts (`<a:fontScheme>`) 2. **Sample slide content**: Examine `ppt/slides/slide1.xml` for actual font usage (`<a:rPr>`) and colors 3. **Search for patterns**: Use grep to find color (`<a:solidFill>`, `<a:srgbClr>`) and font references across all XML files ## Creating a new PowerPoint presentation **without a template** When creating a new PowerPoint presentation from scratch, use the **html2pptx** workflow to convert HTML slides to PowerPoint with accurate positioning. ### Design Principles **CRITICAL**: Before creating any presentation, analyze the content and choose appropriate design elements: 1. **Consider the subject matter**: What is this presentation about? What tone, industry, or mood does it suggest? 2. **Check for branding**: If the user mentions a company/organization, consider their brand colors and identity 3. **Match palette to content**: Select colors that reflect the subject 4. **State your approach**: Explain your design choices before writing code **Requirements**: - ✅ State your content-informed design approach BEFORE writing code - ✅ Use web-safe fonts only: Arial, Helvetica, Times New Roman, Georgia, Courier New, Verdana, Tahoma, Trebuchet MS, Impact - ✅ Create clear visual hierarchy through size, weight, and color - ✅ Ensure readability: strong contrast, appropriately sized text, clean alignment - ✅ Be consistent: repeat patterns, spacing, and visual language across slides #### Color Palette Selection **Choosing colors creatively**: - **Think beyond defaults**: What colors genuinely match this specific topic? Avoid autopilot choices. - **Consider multiple angles**: Topic, industry, mood, energy level, target audience, brand identity (if mentioned) - **Be adventurous**: Try unexpected combinations - a healthca