powerpoint

Create, read, and edit .pptx presentations with python-pptx scripts.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires python-pptx, lxml, and includes scripts (resource) components.

What problem does it solve? Building, inspecting, and updating PowerPoint decks programmatically is tedious without PowerPoint installed, and python-pptx lacks APIs for common operations like slide reordering, duplication, and surgical chart edits. This Skill provides five offline helper scripts that cover the full deck lifecycle from JSON-spec creation to visual verification. ## Core Features & Use Cases - Deck creation from JSON specs: Define slides with layouts, bullets, tables, shapes, charts, images, backgrounds, footers, and speaker notes, then generate a .pptx with one command. - Structured read-back and editing: Extract outlines, notes, tables, chart data, and embedded images as JSON; replace text across runs, patch chart series, swap images, duplicate/remove/reorder slides, and set hyperlinks or footers. - Template-driven brand decks: Fill {{token}} placeholders in a company template and append slides using the template's own layouts so they inherit master fonts and colors. - Use Case: A user receives a quarterly report template and asks for an updated deck. The Skill fills brand tokens, appends data slides with charts, replaces outdated figures, renders each slide to PNG via LibreOffice and poppler, and verifies the visuals before delivery. ## Quick Start Ask the agent to create a five-slide 16:9 pitch deck from a JSON outline and render each slide to PNG for review.

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 from a JSON spec in Python?▼

Write a JSON spec defining slide_size and per-slide layout, title, bullets, tables, shapes, charts, and notes, then run pptx_create.py with the spec and output path. The script builds the .pptx with python-pptx and prints a JSON report with the slide count.

How to extract text, notes, and images from a .pptx file?▼

Run pptx_read.py with --outline to get a JSON outline of every slide's texts, tables, charts, and notes, or use --images DIR to export embedded pictures to files. Speaker notes alone are available via the --notes flag.

Can python-pptx reorder or duplicate slides in a presentation?▼

python-pptx has no public API for reordering or duplicating slides, so pptx_edit.py manipulates the <p:sldIdLst> XML directly for moves and deep-copies shape XML with remapped relationship ids for duplication. Slides containing charts cannot be duplicated because charts embed separate XLSX workbook parts.

Does this work with legacy .ppt files or without LibreOffice installed?▼

Legacy binary .ppt files are not supported; convert them first with soffice --convert-to pptx. All create, read, and edit operations work without LibreOffice, but slide rendering to PNG requires both soffice and pdftoppm or pdftocairo.

Why does text replacement sometimes change formatting in PowerPoint files?▼

PowerPoint splits paragraph text into runs at spell-check and edit boundaries. The edit script merges adjacent identically-formatted runs first, but a match spanning genuinely differently-formatted runs falls back to a paragraph rewrite using the first run's formatting.

How do I convert a .pptx deck to PDF offline?▼

If LibreOffice is installed, run soffice --headless --convert-to pdf --outdir ./out deck.pptx to produce the PDF. There is no offline pure-Python .pptx-to-PDF path, and fonts not installed on the host will be substituted, so render-verify first.