pptx

Create, edit, and validate PowerPoint .pptx and .potx presentation files.

2|Updated Mar 29, 2015
One-click install
npx skills add https://github.com/ovisan/dotfiles --skill pptx-ovisan
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pptx
Source: https://github.com/ovisan/dotfiles/tree/main/.grok/skills/pptx
Command: npx skills add https://github.com/ovisan/dotfiles --skill pptx-ovisan

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pptxgenjs, markitdown, Pillow, defusedxml, lxml, react-icons, react, react-dom, sharp, and includes scripts (resource) components.

What problem does it solve? Working with PowerPoint files programmatically is error-prone: .pptx files are ZIP archives of XML with strict schema, relationship, and content-type rules, and small mistakes produce decks PowerPoint refuses to open. This Skill provides the scripts, validation tooling, and design guidance to create, edit, read, and QA presentations reliably. ## Core Features & Use Cases - Deck Creation with pptxgenjs: Generate new slide decks programmatically with a catalog of gotchas covering layouts, colors, charts, shadows, and icons. - Template-Based Editing: Unpack existing .pptx/.potx files, duplicate slides with full package bookkeeping via add_slide.py, edit slide XML, clean orphaned parts, and rezip. - Validation and Visual QA: Run schema, relationship, and chart validation with validate.py, render slides to images via LibreOffice and pdftoppm, and inspect thumbnails for layout selection. - Use Case: A user needs a 12-slide pitch deck built from a corporate .potx template. The Skill thumbnails the template to pick layouts, duplicates and fills slides, validates the output against the original template, and renders images for visual review. ## Quick Start Create a five-slide presentation about quarterly sales results using the pptx skill and save it as sales-q3.pptx.

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 programmatically?

Write a script using the pptxgenjs library, which is preinstalled, and require it directly without npm install. Set pres.layout before adding slides, use hex colors without the # prefix, and run validate.py on the output to catch chart and slide XML defects PowerPoint would reject.

How do I edit an existing pptx file or template?

Unzip the .pptx into a directory, edit the slide XML under ppt/slides/, then rezip from inside the directory. Use add_slide.py to duplicate slides with all package bookkeeping and clean.py to remove orphaned slides, media, and relationships after deletions.

How do I extract text from a PowerPoint file?

Run markitdown on the .pptx file to get one text block per slide under slide number markers. For a visual overview, run thumbnail.py to generate a labeled grid image of every slide, which helps map content to template layouts.

Why does PowerPoint say my generated pptx file is corrupt?

Common causes include hex colors with a # prefix, negative shadow offsets, outEnd data labels on stacked charts, and combo charts missing valAxes or catAxes entries. Run validate.py on the file; it reports each schema, relationship, and chart failure with its fix.

Can python-pptx duplicate slides or preserve formatting?

python-pptx cannot duplicate slides; its only entry point is add_slide(layout). Assigning text_frame.text collapses paragraphs to a single unstyled run, so assign run.text instead, and use add_slide.py from this Skill for slide duplication with full relationship registration.

Does this work with .potx templates and legacy .ppt files?

Yes, .potx templates unpack and pack identically to .pptx; keep the .potx extension on output. Legacy .ppt files must first be converted with the soffice.py wrapper using --convert-to pptx before editing.