pptx

Create, edit, and analyze PowerPoint presentations using HTML conversion and OOXML manipulation.

Updated Feb 4, 2026
One-click install
npx skills add https://github.com/pchemguy/AISandbox --skill pptx-pchemguy
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: pptx
Source: https://github.com/pchemguy/AISandbox/tree/main/docs/AgentSkills/anthropics/skills/skills/pptx
Command: npx skills add https://github.com/pchemguy/AISandbox --skill pptx-pchemguy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires markitdown, pptxgenjs, playwright, react-icons, sharp, defusedxml, python-pptx, Pillow, and includes scripts (resource) and references (resource) components.

What problem does it solve? Working with .pptx files programmatically is complex because they are ZIP archives of XML files. This Skill provides structured workflows to create new presentations from scratch, edit existing slides at the raw XML level, apply existing templates, and extract content for analysis. ## Core Features & Use Cases - Create presentations from scratch: Convert HTML slides to PowerPoint with accurate positioning using the html2pptx library, then add charts and tables via PptxGenJS. - Edit existing presentations: Unpack .pptx files, edit raw OOXML (slides, speaker notes, comments, layouts), validate changes, and repack. - Template-based creation: Analyze template decks with thumbnail grids, duplicate and reorder slides, and replace placeholder text while preserving formatting. - Use Case: Ask for a quarterly sales deck with charts; the Skill designs HTML slides, converts them to PowerPoint, embeds bar charts, and validates the output with thumbnail previews. ## Quick Start Create a 5-slide PowerPoint presentation about our Q4 results with a title slide, a bar chart of revenue, and a closing slide.

Frequently Asked Questions about pptx

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a PowerPoint presentation from HTML?▼

Create one HTML file per slide with fixed body dimensions (720pt × 405pt for 16:9), then use the html2pptx.js library with PptxGenJS to convert each file into a slide. Charts and tables are added to placeholder areas via the PptxGenJS API before saving with pptx.writeFile().

How do I edit an existing .pptx file programmatically?▼

Unpack the .pptx with the ooxml unpack.py script, edit the raw XML files such as ppt/slides/slideN.xml, validate after each edit with validate.py, then repack with pack.py. This is required for comments, speaker notes, layouts, and animations.

How do I extract text from a PowerPoint file?▼

Run python -m markitdown on the .pptx file to convert its text content to Markdown. For structured extraction with positions, fonts, and formatting, use the inventory.py script to export all text shapes to JSON.

Can I use CSS gradients in HTML slides for PowerPoint?▼

No, CSS gradients do not convert to PowerPoint and cause validation errors. Rasterize gradients and icons to PNG images first using Sharp, then reference the PNG files in the HTML as background images or img elements.

Why does my generated PPTX file fail to open in PowerPoint?▼

Common causes include using # prefixes on hex colors in PptxGenJS, incorrect XML element ordering in txBody, missing relationship entries in .rels files, or undeclared slides in [Content_Types].xml. Run validate.py after each OOXML edit to catch errors.

How do I apply an existing PowerPoint template to new content?▼

Extract template text with markitdown, generate thumbnail grids with thumbnail.py, then use rearrange.py to duplicate and reorder template slides. Finally, generate replacement text JSON and apply it with replace.py, which preserves original formatting.