pptx

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

Updated Sep 1, 2026
One-click install
npx skills add https://github.com/sshekhar-04/SIH_PS_26151 --skill pptx-sshekhar-04
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pptx
Source: https://github.com/sshekhar-04/SIH_PS_26151/tree/main/.agents/Skills/pptx
Command: npx skills add https://github.com/sshekhar-04/SIH_PS_26151 --skill pptx-sshekhar-04

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 common libraries like pptxgenjs silently produce files PowerPoint refuses to open. This Skill provides the workflows, scripts, and QA checks needed to reliably create, edit, read, and validate slide decks. ## Core Features & Use Cases - Deck Creation: Generate new presentations with pptxgenjs, with documented gotchas for layouts, colors, charts, shadows, and icons that otherwise corrupt files. - 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. - Content Extraction & Thumbnails: Read deck text with markitdown and render labeled slide thumbnail grids for template layout selection. - Validation & Visual QA: Run schema, relationship, content-type, and chart validation against the original template, plus LibreOffice-based PDF/image rendering for visual inspection. - Use Case: A user asks for a pitch deck from a corporate template. The Skill thumbnails the template to pick layouts, duplicates and edits slides, validates the output against the original, and renders images to catch text overflow before delivery. ## Quick Start Create a five-slide pitch deck about our product using a dark navy color palette and validate it before showing me the result.

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 hex colors without the # prefix. After writeFile(), run the validate.py script to catch chart and slide XML defects that PowerPoint rejects.

How do I edit an existing pptx file or template?

Unzip the .pptx into a directory, duplicate slides with add_slide.py, edit the slide XML files directly, run clean.py to remove orphaned parts, then rezip from inside the directory. Validate the result with validate.py using --original against the source file.

Why does PowerPoint say my pptxgenjs 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. The validate.py script detects these faults and names the fix for each.

Can python-pptx duplicate a slide in a deck?

No, python-pptx only offers add_slide(layout) and cannot duplicate an existing slide. Use the add_slide.py script instead, which copies the slide file and handles all content-type, relationship, and sldIdLst registration.

How do I extract text from a .pptx 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.

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

Yes, .potx templates unpack and pack identically to .pptx, keeping the .potx extension on output. Legacy .ppt files must first be converted to .pptx using the bundled LibreOffice soffice.py wrapper.