powerpoint

Create, read, and edit PowerPoint .pptx decks using pptxgenjs and direct OOXML manipulation.

Updated Aug 21, 2026
One-click install
npx skills add https://github.com/TylerSimons1127/vibe --skill powerpoint-tylersimons1127
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: powerpoint
Source: https://github.com/TylerSimons1127/vibe/tree/main/skills/productivity/powerpoint
Command: npx skills add https://github.com/TylerSimons1127/vibe --skill powerpoint-tylersimons1127

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: generated decks get corrupted by subtle pptxgenjs mistakes, template edits break package relationships, and defects only surface when the user opens the file in PowerPoint. This Skill provides the scripts, validation tooling, and hard-won gotchas to produce decks that actually open and look designed. ## Core Features & Use Cases - From-scratch deck generation: Write pptxgenjs scripts with correct layouts, colors, charts, speaker notes, and icons while avoiding the library's file-corrupting footguns. - Template-based editing: Unpack .pptx/.potx files, duplicate or reorder slides with full package bookkeeping, edit slide XML directly, and rezip into valid decks. - Validation and visual QA: Run schema, relationship, and chart checks against the original template, then render slides to images for overflow, overlap, and contrast inspection. - Use Case: A user asks for a 10-slide pitch deck from a company template. The Skill thumbnails the template to pick layouts, duplicates slides, fills content via XML edits, validates against the original, and renders each slide for visual review before delivery. ## Quick Start Ask the agent to create a five-slide presentation about your project as a .pptx file, or to extract and summarize the text from an existing deck.

Frequently Asked Questions about powerpoint

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

FAQPage Schema
How do I create a PowerPoint deck programmatically with pptxgenjs?▼

Write a Node script that requires pptxgenjs, set pres.layout before adding slides, and use hex colors without a leading #. After writeFile(), validate the output with the included validate.py script to catch chart and slide XML defects PowerPoint rejects.

How do I edit an existing .pptx file or template?▼

Unzip the .pptx, duplicate slides with add_slide.py (which handles all package registration), edit ppt/slides/slideN.xml directly, then rezip from inside the directory. Run validate.py with --original pointing at the source template to baseline schema checks.

Why does PowerPoint say my generated .pptx file is corrupt?▼

Common causes include hex colors with # prefixes, negative shadow offsets, outEnd data labels on stacked charts, and combo charts missing valAxes/catAxes entries. The validate.py script detects these faults and names the fix for each.

Can python-pptx duplicate slides or preserve formatting?▼

python-pptx cannot duplicate slides (only add_slide from a layout), collapses formatting when assigning text_frame.text, and cannot read SVG or EMF template art. Use the add_slide.py script and direct XML editing for those tasks instead.

How do I convert a legacy .ppt file to .pptx?▼

Run the included soffice.py wrapper with --headless --convert-to pptx on the .ppt file. The wrapper handles sandboxed environments where bare soffice hangs by managing the LibreOffice user profile and socket shim.

How do I visually check slides for text overflow before delivery?▼

Convert the deck to PDF with soffice.py, then run pdftoppm to produce per-slide JPEGs and inspect each image. Check text overflow at box boundaries first, then overlaps, spacing, and contrast, and re-render after fixes.