pptx

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

1|Updated Jul 2, 2026
One-click install
npx skills add https://github.com/mccleod1290/bb-agentic-setupv2 --skill pptx-mccleod1290
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: pptx
Source: https://github.com/mccleod1290/bb-agentic-setupv2/tree/main/documenting-skills/pptx
Command: npx skills add https://github.com/mccleod1290/bb-agentic-setupv2 --skill pptx-mccleod1290

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve? Working with .pptx files programmatically is error-prone: raw OOXML is verbose, templates contain hidden placeholders, and generated decks often have overlapping elements or corrupt files. This Skill provides a complete workflow for reading, editing, and creating PowerPoint presentations with built-in QA and validation. ## Core Features & Use Cases - Read and analyze presentations: Extract text with markitdown, generate thumbnail grids for visual overview, and unpack raw XML for 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 charts, following design guidance for palettes, typography, and layouts. - Mandatory 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 corporate template deck and a markdown outline, produce a polished 12-slide pitch deck by mapping content to varied template layouts, editing slide XML, and verifying every slide visually before delivery. ## Quick Start Use the pptx skill to create a five-slide presentation about our quarterly results with charts and a consistent color palette.

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 in Python?▼

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

How do I create a PowerPoint presentation from scratch with code?▼

Use the pptxgenjs JavaScript library to define slides with text, shapes, images, tables, and charts, then call writeFile to produce the .pptx. Follow the pptxgenjs.md guide for layout dimensions, styling options, and common pitfalls like hex color formatting.

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, run clean.py to remove orphaned files, then repack with pack.py which validates against OOXML schemas.

Why does my generated pptx file appear corrupt in PowerPoint?▼

Common causes include using '#' prefixes on hex colors, encoding opacity in 8-character hex strings, negative shadow offsets, or broken relationship references. The pack.py validation step auto-repairs issues and checks XML against XSD schemas to catch these errors.

Can I convert pptx slides to images for visual inspection?▼

Yes, convert the .pptx to PDF using LibreOffice's soffice in headless mode, then run pdftoppm to render each page as a JPEG. This produces individual slide images suitable for visual QA of layout, overflow, and contrast issues.

What are the limitations of pptxgenjs for slide generation?▼

pptxgenjs does not natively support gradient fills, so gradient images must be used as backgrounds instead. It also mutates option objects in place, so fresh option objects are required for each call, and rounded rectangles do not align with rectangular accent overlays.