powerpoint

Create, edit, and validate PowerPoint .pptx presentations using python-pptx and pptxgenjs.

6|1|Updated May 11, 2026
One-click install
npx skills add https://github.com/yakeworld/Synthos --skill powerpoint-yakeworld
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: powerpoint
Source: https://github.com/yakeworld/Synthos/tree/main/skills/extended/external-automation/automation-skills/productivity/powerpoint
Command: npx skills add https://github.com/yakeworld/Synthos --skill powerpoint-yakeworld

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve? Generating and editing PowerPoint files programmatically is error-prone: sandbox environments lack python-pptx, grid layouts overflow slide boundaries, slide reordering silently fails, and deliverables ship with factual or layout defects. This Skill encodes proven patterns, pitfalls, and quality gates for reliable .pptx generation and editing. ## Core Features & Use Cases - PPTX Generation: Build multi-page structured decks with python-pptx or pptxgenjs using helper functions, color palettes, grid layouts, and image-first designs with aspect-ratio-safe picture embedding. - Template-Based Editing: Unpack existing .pptx files, duplicate or reorder slides via direct XML manipulation of sldIdLst, edit slide content, and repack with validation scripts. - Quality Gates: Run scripts/quality_check.py to detect shape overflow, overlap, and content leaks before delivery, plus an L0.5 data-honesty checklist for verifying hard facts against source documents. - Use Case: Produce a 14-page competition defense deck in Chinese with a navy/teal palette, 3x2 card grids, embedded photos, verified patent numbers, and zero layout overflow, then reorder pages via scripts/reorder_pptx.py. ## Quick Start Use the powerpoint skill to generate a 6-slide project status deck with a 3-column card grid and run the layout quality check before delivery.

Frequently Asked Questions about powerpoint

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

FAQPage Schema
How do I generate a PowerPoint file with python-pptx?

Create a Presentation object, add slides with prs.slide_layouts[6] for blank layouts, then add shapes and textboxes with Inches-based coordinates. Write the script to a file and run it with system Python (/usr/bin/python3), since sandbox venvs often lack python-pptx.

How do I reorder slides in an existing PPTX file?

Modify the sldIdLst element inside ppt/presentation.xml directly via zipfile, because python-pptx maintains two internal references and only the part-level XML is saved. The included scripts/reorder_pptx.py automates this with a comma-separated index order.

python-pptx vs pptxgenjs for presentation generation?

python-pptx suits Python-centric workflows with direct shape and table control, while pptxgenjs fits Node.js environments with built-in charts and slide masters. Both are documented here with their specific pitfalls, such as hex color corruption rules in pptxgenjs.

Why do elements get clipped when converting PPTX to PDF?

LibreOffice clips elements beyond the 12.8 x 7.0 inch printable area even though slides are 13.333 x 7.5 inches. Multiply all non-zero Inches() coordinates by 0.92 and verify with scripts/quality_check.py before delivery.

Why does cell.paragraphs fail on python-pptx table cells?

The _Cell object has no paragraphs attribute; you must access cell.text_frame.paragraphs instead. Also set cell.text_frame.word_wrap = True explicitly, since wrapping is not enabled by default.

How do I add images to slides without distortion?

Read the original dimensions with PIL, compute the aspect ratio, fit the image within the target area by width or height, and center it before calling add_picture. Passing width and height directly stretches the image.