powerpoint

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

Updated Jun 5, 2026
One-click install
npx skills add https://github.com/xu1713/openhorse --skill powerpoint-xu1713
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: powerpoint
Source: https://github.com/xu1713/openhorse/tree/main/openhorse/openhorse/skills/productivity/powerpoint
Command: npx skills add https://github.com/xu1713/openhorse --skill powerpoint-xu1713

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 all require specialized tooling and careful QA. This Skill provides a complete workflow for reading, editing, and generating .pptx files with built-in validation and visual inspection steps. ## Core Features & Use Cases - Content Extraction: Pull text from any .pptx with markitdown, generate thumbnail grids, or unpack raw XML for deep analysis. - Template-Based Editing: Unpack a template deck, duplicate/reorder/delete slides, edit slide XML, clean orphaned files, and repack with schema validation. - From-Scratch Generation: Build decks with pptxgenjs using curated color palettes, typography pairings, charts, icons, and layout patterns. - Mandatory QA Loop: Convert slides to images via LibreOffice and pdftoppm, then visually inspect for overflow, overlap, and contrast issues. - Use Case: Given a branded template and a meeting outline, produce a finished pitch deck with varied layouts, then verify every slide renders correctly before delivery. ## Quick Start Use the powerpoint skill to create a five-slide pitch deck from my outline and verify each slide visually.

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 .pptx file in Python?

Run python -m markitdown presentation.pptx to extract all slide text into Markdown. 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 delete slides via add_slide.py and the sldIdLst in presentation.xml, edit each slide's XML directly, then run clean.py and pack.py to produce a validated output file.

What library creates PowerPoint slides from scratch in JavaScript?

pptxgenjs generates .pptx files programmatically with support for text, shapes, images, tables, and charts. Install it with npm install -g pptxgenjs and define slides using inch-based coordinates on layouts like LAYOUT_16x9.

Why does my pptxgenjs file get corrupted?

Common causes include using '#' prefixes on hex colors, encoding opacity in 8-character hex strings, negative shadow offsets, or reusing option objects across calls since pptxgenjs mutates them. Use 6-character hex colors and fresh option objects per call.

How do I visually check generated slides for layout problems?

Convert the deck to PDF with LibreOffice (soffice), then to per-slide JPEGs with pdftoppm at 150 DPI. Inspect the images for overlapping elements, text overflow, low contrast, and inconsistent spacing, then fix and re-render affected slides.

Can I duplicate a slide in an unpacked PPTX by copying the XML file?

No, manual copying misses notes references, Content_Types entries, and relationship IDs. Use add_slide.py, which duplicates the slide, strips stale notes relationships, registers content types, and prints the sldId element to insert.