pptx

Create, edit, and validate PowerPoint .pptx and .potx files using pptxgenjs and OOXML scripts.

Updated Aug 17, 2026
One-click install
npx skills add https://github.com/prabaljainn/my-claude-code-setup --skill pptx-prabaljainn
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: pptx
Source: https://github.com/prabaljainn/my-claude-code-setup/tree/main/claude/skills/pptx
Command: npx skills add https://github.com/prabaljainn/my-claude-code-setup --skill pptx-prabaljainn

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: pptxgenjs silently corrupts files with bad hex colors or chart axis configs, python-pptx cannot duplicate slides, and hand-edited OOXML breaks relationship bookkeeping. This Skill provides tested scripts and hard-won rules for creating, editing, reading, and validating .pptx and .potx decks without producing corrupt files. ## Core Features & Use Cases - Deck creation with pptxgenjs: Generate new presentations with correct layouts, colors, charts, icons, and speaker notes, avoiding the library's known corruption pitfalls. - Template-based editing: Unpack a .pptx/.potx, duplicate slides with full package registration via add_slide.py, edit slide XML, clean orphaned parts, and rezip into a valid deck. - Reading and QA: Extract slide text with markitdown, render thumbnail grids and full-resolution slide images for visual inspection, and run schema/relationship/chart validation against the original template. - Use Case: Given a corporate .potx template and a content outline, thumbnail the template to pick layouts, duplicate the right slides, fill in content, then validate and visually QA the output deck before delivery. ## Quick Start Use the pptx skill to create a ten-slide pitch deck from my outline and validate the output file.

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 with pptxgenjs?▼

Write a Node script that requires pptxgenjs, set pres.layout before adding slides, and use addSlide, addText, addImage, and addChart calls. Use hex colors without '#', create one pptxgen instance per file, and validate the output afterward.

How do I duplicate a slide in a .pptx file?▼

Use the add_slide.py script on the unpacked deck or directly on the .pptx file. It copies the slide XML, registers content types, adds a relationship with a fresh rId, and inserts the entry into the slide ID list.

Why does PowerPoint say my pptxgenjs file is corrupt?▼

Common causes are hex colors with a '#' prefix, negative shadow offsets, outEnd data labels on stacked charts, or combo charts missing valAxes and catAxes entries. Run the validate.py script to identify the exact fault and fix it in the generator.

Can python-pptx duplicate slides or preserve formatting?▼

No. python-pptx only adds slides from layouts, assigning text_frame.text collapses runs into unstyled text, and it cannot read SVG or EMF images. Use direct OOXML editing with add_slide.py for duplication instead.

How do I convert a legacy .ppt file to .pptx?▼

Run LibreOffice headless through the soffice.py wrapper with --convert-to pptx. The wrapper handles sandboxed environments where bare soffice hangs, and the converted file can then be edited like any .pptx.

How do I check a generated deck for visual problems?▼

Convert the .pptx to PDF with soffice.py, then render pages to JPEG with pdftoppm and inspect each image. Look for text overflow, overlapping elements, low contrast, and leftover placeholder text before delivering.