powerpoint

Create, read, and edit .pptx presentations, slides, notes, and templates.

Updated May 13, 2026
One-click install
npx skills add https://github.com/superfhp/lumi-agent-body --skill powerpoint-superfhp
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: powerpoint
Source: https://github.com/superfhp/lumi-agent-body/tree/main/skills/productivity/powerpoint
Command: npx skills add https://github.com/superfhp/lumi-agent-body --skill powerpoint-superfhp

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve? Working with PowerPoint files programmatically is error-prone: extracting content, editing template slides without corrupting XML, and producing visually polished decks from scratch all require specialized tooling and careful QA. This Skill provides complete workflows for reading, editing, and generating .pptx files with built-in validation and visual inspection steps. ## Core Features & Use Cases - Read and analyze decks: Extract text with markitdown, generate thumbnail grids, and 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 from scratch with pptxgenjs: Build slides programmatically with text, shapes, images, icons, tables, and styled charts, guided by curated color palettes, typography pairings, and layout patterns. - Mandatory QA loop: Convert slides to images via LibreOffice and pdftoppm, then visually inspect for overflow, overlap, contrast, and placeholder leftovers. - Use Case: Given a branded template deck and a meeting agenda, produce a finished pitch deck by mapping content to varied template layouts, editing each slide's XML, and verifying the rendered output. ## Quick Start Use the powerpoint skill to create a five-slide pitch deck about our Q3 results using a dark navy color palette.

Frequently Asked Questions about powerpoint

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

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

Run python -m markitdown presentation.pptx to extract all text content from a .pptx 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 via 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 deck from scratch with pptxgenjs?▼

Install pptxgenjs via npm, create a new presentation instance, set a layout like LAYOUT_16x9, and add slides with text, shapes, images, tables, and charts. Never use # prefixes in hex colors or unicode bullet characters, as these corrupt the file.

Why does my generated pptx file get corrupted?▼

Common causes include using # in hex colors, encoding opacity in 8-character hex strings, negative shadow offsets, and reusing option objects across pptxgenjs calls. Use the opacity property, fresh option objects per call, and the pack.py validator to catch issues.

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

Yes. Convert the .pptx to PDF with LibreOffice via scripts/office/soffice.py, then run pdftoppm -jpeg -r 150 to produce one image per slide. You can re-render specific pages with the -f and -l flags after fixes.

What are the limitations of pptxgenjs for slide design?▼

Gradient fills are not natively supported, so gradient images must be used as backgrounds instead. Rounded rectangles do not align with rectangular accent overlays, and letterSpacing is silently ignored in favor of charSpacing.