Pptx
Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks
- Skill ID
- appautomaton/document-skills/pptx
- Publisher
- appautomaton
- Repository
- document-skills
- Installs
- 0
- Files
- 57
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
appautomaton/document-skills/pptxInstalls these files- SKILL.md
- html2pptx.md
- ooxml.md
- ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd
- ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd
- ooxml/schemas/ecma/fourth-edition/opc-contentTypes.xsd
- ooxml/schemas/ecma/fourth-edition/opc-coreProperties.xsd
- ooxml/schemas/ecma/fourth-edition/opc-digSig.xsd
- ooxml/schemas/ecma/fourth-edition/opc-relationships.xsd
- ooxml/schemas/mce/mc.xsd
- ooxml/schemas/microsoft/wml-2010.xsd
- ooxml/schemas/microsoft/wml-2012.xsd
- ooxml/schemas/microsoft/wml-2018.xsd
- ooxml/schemas/microsoft/wml-cex-2018.xsd
- ooxml/schemas/microsoft/wml-cid-2016.xsd
- ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd
- ooxml/schemas/microsoft/wml-symex-2015.xsd
- ooxml/scripts/pack.py
- ooxml/scripts/unpack.py
- ooxml/scripts/validate.py
- ooxml/scripts/validation/__init__.py
- ooxml/scripts/validation/base.py
- ooxml/scripts/validation/docx.py
- ooxml/scripts/validation/pptx.py
- ooxml/scripts/validation/redlining.py
- package-lock.json
- package.json
- scripts/html2pptx.js
- scripts/inventory.py
- scripts/rearrange.py
- scripts/replace.py
- scripts/thumbnail.py
What this skill tells the agent
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.
Prerequisites
Python dependencies are resolved automatically by uv run — scripts declare them in PEP 723 headers. The workflows below also rely on:
- Node.js packages — if
node_modules/is missing, runnpm installin this skill directory once. This installspptxgenjsandplaywright, which drives Chromium/Chrome for HTML rendering (on macOS it uses system Chrome; elsewhere runnpx playwright install chromiumonce if no browser is present). It also installssharp,react,react-dom, andreact-icons— html2pptx.js does not use these itself; they are provided for scripts you write during the html2pptx workflow (icon and gradient rasterization, see html2pptx.md) - LibreOffice (
brew install --cask libreoffice) and poppler (brew install poppler) — converting presentations to PDF/images for thumbnails and visual validation (soffice,pdftoppm)
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:
# Convert document to markdown
uv run --with 'markitdown[pptx]' python -m markitdown path-to-file.pptxRaw 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 ooxml/scripts/unpack.py <office_file> <output_dir>
Note: Run this from the pptx skill directory, where the script is at ooxml/scripts/unpack.py. If it isn't found there, use find . -name "unpack.py" to locate it.
Key file structures
ppt/presentation.xml- Main presentation metadata and slide referencesppt/slides/slide{N}.xml- Individual slide contents (slide1.xml, slide2.xml, etc.)ppt/notesSlides/notesSlide{N}.xml- Speaker notes for each slideppt/comments/modernComment_*.xml- Comments for specific slidesppt/slideLayouts/- Layout templates for slidesppt/slideMasters/- Master slide templatesppt/theme/- Theme and styling informationppt/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:
- Read theme file: Check
ppt/theme/theme1.xmlfor colors (<a:clrScheme>) and fonts (<a:fontScheme>) - Sample slide content: Examine
ppt/slides/slide1.xmlfor actual font usage (<a:rPr>) and colors - 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:
- Consider the subject matter: What is this presentation about? What tone, industry, or mood does it suggest?
- Check for branding: If the user mentions a company/organization, consider their brand colors and identity
- Match palette to content: Select colors that reflect the subject
- 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 healthcare presentation doesn't have to be green, finance doesn't have to be navy
- Build your palette: Pick 3-5 colors that work together (dominant colors + supporting tones + accent)
- Ensure contrast: Text must be clearly readable on backgrounds
Example color palettes (use these to spark creativity - choose one, adapt it, or create your own):
- Classic Blue: Deep navy (#1C2833), slate gray (#2E4053), silver (#AAB7B8), off-white (#F4F6F6)
- Teal & Coral: Teal (#5EA8A7), deep teal (#277884), coral (#FE4447), white (#FFFFFF)
- Bold Red: Red (#C0392B), bright red (#E74C3C), orange (#F39C12), yellow (#F1C40F), green (#2ECC71)
- Warm Blush: Mauve (#A49393), blush (#EED6D3), rose (#E8B4B8), cream (#FAF7F2)
- Burgundy Luxury: Burgundy (#5D1D2E), crimson (#951233), rust (#C15937), gold (#997929)
- Deep Purple & Emerald: Purple (#B165FB), dark blue (#181B24), emerald (#40695B), white (#FFFFFF)
- Cream & Forest Green: Cream (#FFE1C7), forest green (#40695B), white (#FCFCFC)
- Pink & Purple: Pink (#F8275B), coral (#FF574A), rose (#FF737D), purple (#3D2F68)
- Lime & Plum: Lime (#C5DE82), plum (#7C3A5F), coral (#FD8C6E), blue-gray (#98ACB5)
- Black & Gold: Gold (#BF9A4A), black (#000000), cream (#F4F6F6)
- Sage & Terracotta: Sage (#87A96B), terracotta (#E07A5F), cream (#F4F1DE), charcoal (#2C2C2C)
- Charcoal & Red: Charcoal (#292929), red (#E33737), light gray (#CCCBCB)
- Vibrant Orange: Orange (#F96D00), light gray (#F2F2F2), charcoal (#222831)
- Forest Green: Black (#191A19), green (#4E9F3D), dark green (#1E5128), white (#FFFFFF)
- Retro Rainbow: Purple (#722880), pink (#D72D51), orange (#EB5C18), amber (#F08800), gold (#DEB600)
- Vintage Earthy: Mustard (#E3B448), sage (#CBD18F), forest green (#3A6B35), cream (#F4F1DE)
- Coastal Rose: Old rose (#AD7670), beaver (#B49886), eggshell (#F3ECDC), ash gray (#BFD5BE)
- Orange & Turquoise: Light orange (#FC993E), grayish turquoise (#667C6F), white (#FCFCFC)
Visual Details Options
Geometric Patterns:
- Diagonal section dividers instead of horizontal
- Asymmetric column widths (30/70, 40/60, 25/75)
- Rotated text headers at 90° or 270°
- Circular/hexagonal frames for images
- Triangular accent shapes in corners
- Overlapping shapes for depth
Border & Frame Treatments:
- Thick single-color borders (10-20pt) on one side only
- Double-line borders with contrasting colors
- Corner brackets instead of full frames
- L-shaped borders (top+left or bottom+right)
- Underline accents beneath headers (3-5pt thick)
Typography Treatments:
- Extreme size contrast (72pt headlines vs 11pt body)
- All-caps headers with wide letter spacing
- Numbered sections in oversized display type
- Monospace (Courier New) for data/stats/technical content
- Condensed fonts (Arial Narrow) for dense information
- Outlined text for emphasis
Chart & Data Styling:
- Monochrome charts with single accent color for key data
- Horizontal bar charts instead of vertical
- Dot plots instead of bar charts
- Minimal gridlines or none at all
- Data labels directly on elements (no legends)
- Oversized numbers for key metrics
Layout Innovations:
- Full-bleed images with text overlays
- Sidebar column (20-30% width) for navigation/context
- Modular grid systems (3×3, 4×4 blocks)
- Z-pattern or F-pattern content flow
- Floating text boxes over colored shapes
More from appautomaton
Use this skill in a project
Open any RiverX project, search the Skills panel for appautomaton/document-skills/pptx, and install it in one click.
