pptx

Create, edit, and validate PowerPoint .pptx presentations via XML manipulation and pptxgenjs.

Updated Mar 31, 2026
One-click install
npx skills add https://github.com/SESELOVSKYDarian/Vase --skill pptx-seselovskydarian
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pptx
Source: https://github.com/SESELOVSKYDarian/Vase/tree/main/.agents/skills/pptx
Command: npx skills add https://github.com/SESELOVSKYDarian/Vase --skill pptx-seselovskydarian

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve? Working with .pptx files programmatically is error-prone: templates break, placeholders linger, layouts overflow, and generated decks look generic. This Skill provides a complete workflow for reading, editing, and creating PowerPoint presentations with built-in design guidance and mandatory visual QA. ## Core Features & Use Cases - Read and analyze presentations: Extract text with markitdown, generate thumbnail grids, or unpack raw XML for deep inspection. - Template-based editing: Unpack a .pptx, duplicate or reorder slides, edit slide XML content, clean orphaned files, and repack with schema validation. - Create decks from scratch: Use pptxgenjs to build slides with text, shapes, images, icons, tables, and styled charts, guided by curated color palettes, font pairings, and layout patterns. - Required QA loop: Convert slides to images via LibreOffice and pdftoppm, then visually inspect for overflow, overlap, contrast, and leftover placeholder text. - Use Case: Given a branded template deck and a meeting brief, produce a polished pitch presentation by mapping content to varied template layouts, editing slide XML, and verifying every rendered slide before delivery. ## Quick Start Use the pptx skill to create a five-slide product overview presentation from scratch and visually verify each slide.

Frequently Asked Questions about pptx

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

FAQPage Schema
How do I extract text from a .pptx file?

Run python -m markitdown presentation.pptx to extract all text content from a PowerPoint file. For a visual overview, use the thumbnail.py script to generate a labeled grid of slide images, or unpack the file to inspect raw slide XML.

How do I edit an existing PowerPoint template programmatically?

Unpack the .pptx with unpack.py, duplicate or reorder slides using add_slide.py and the sldIdLst in presentation.xml, edit each slide's XML content, then run clean.py and pack.py to produce a validated output file.

How do I create a PowerPoint presentation from scratch in JavaScript?

Use the pptxgenjs library: create a new presentation, set a layout like LAYOUT_16x9, add slides with text, shapes, images, tables, and charts, then call writeFile. Never use '#' in hex colors, as it corrupts the file.

Why does my generated pptx file appear corrupt?

Common causes include hex colors with a '#' prefix, 8-character hex strings encoding opacity, negative shadow offsets, and broken relationship references. The pack.py script validates against XSD schemas and auto-repairs common issues.

How do I visually check slides for layout problems?

Convert the .pptx to PDF with LibreOffice (soffice), then to images with pdftoppm at 150 DPI. Inspect each image for overlapping elements, text overflow, low contrast, uneven spacing, and leftover placeholder text, then fix and re-render.

What are the limitations of pptxgenjs for slide design?

pptxgenjs does not natively support gradient fills, so gradient images must be used as backgrounds. Rounded rectangles do not pair well with rectangular accent overlays, and option objects are mutated in place so they cannot be reused across calls.