pptx

Create, edit, and validate PowerPoint .pptx and .potx files programmatically.

Updated Aug 5, 2026
One-click install
npx skills add https://github.com/amirbiron/claude-skills --skill pptx-amirbiron
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pptx
Source: https://github.com/amirbiron/claude-skills/tree/main/skills/pptx
Command: npx skills add https://github.com/amirbiron/claude-skills --skill pptx-amirbiron

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: pptxgenjs has silent pitfalls that corrupt files, template editing requires manual OOXML package bookkeeping, and defects like text overflow or broken chart XML only surface when the user opens the deck. This Skill provides the scripts, gotchas, and QA workflow to produce valid, well-designed .pptx files. ## Core Features & Use Cases - Deck creation with pptxgenjs: Generate new presentations with correct layouts, colors, charts, icons, and speaker notes while avoiding known corruption traps. - Template and existing-deck editing: Unpack, duplicate slides, reorder, clean orphaned parts, and repack .pptx/.potx files with full package bookkeeping via bundled scripts. - Validation and visual QA: Run schema, relationship, and content-type validation, then render slides to images to catch overflow, overlap, and contrast defects. - Use Case: A user asks for a 10-slide pitch deck from an outline. The Skill generates it with pptxgenjs, validates the output against OOXML schemas, converts it to images, and fixes any visual defects before delivery. ## Quick Start Ask the assistant to create a PowerPoint presentation from your outline, or to edit and validate an existing .pptx file you provide.

Frequently Asked Questions about pptx

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

FAQPage Schema
How do I create a PowerPoint file with pptxgenjs?

Write a Node script that requires pptxgenjs, set pres.layout before adding slides, and call writeFile(). Use hex colors without '#', add isTextBox: true to every addText call, and validate the output afterward since some option mistakes silently corrupt the file.

How do I edit an existing .pptx file programmatically?

Unzip the .pptx (it is a ZIP of XML), edit ppt/slides/slideN.xml directly, then rezip from inside the directory. Use the add_slide.py script to duplicate slides safely, since manual copying skips required content-type and relationship registrations.

Why does PowerPoint say my generated pptx file is corrupt?

Common causes are '#' or 8-digit hex colors, negative shadow offsets, outEnd data labels on stacked charts, and combo charts missing valAxes/catAxes entries. Run the validate.py script, which reports each defect and its fix.

Can python-pptx duplicate a slide in a presentation?

No, python-pptx only offers add_slide(layout) and cannot clone an existing slide. It also collapses formatting when assigning text_frame.text and cannot read SVG or EMF images common in templates.

How do I check a generated deck for text overflow and layout issues?

Convert the .pptx to PDF with LibreOffice, then to per-slide JPEGs with pdftoppm, and inspect each image for overflow, overlap, and contrast problems. Note that preview font substitution can make fit checks unreliable for fonts outside the safe list.