pptx

Create, edit, and analyze PowerPoint presentations using HTML conversion and OOXML manipulation.

Updated Jun 8, 2026
One-click install
npx skills add https://github.com/Avistian/nba --skill pptx-avistian
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: pptx
Source: https://github.com/Avistian/nba/tree/main/.cursor/skills/pptx
Command: npx skills add https://github.com/Avistian/nba --skill pptx-avistian

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires markitdown, pptxgenjs, playwright, react-icons, sharp, libreoffice, poppler-utils, defusedxml, and includes scripts (resource) components.

What problem does it solve? Working with .pptx files programmatically is complex because they are ZIP archives of XML files. This Skill provides structured workflows for creating new presentations from scratch, editing existing slides at the raw XML level, applying templates, and extracting content for analysis. ## Core Features & Use Cases - Create presentations from scratch: Convert HTML slides to PowerPoint with accurate positioning using the html2pptx workflow, then add charts and tables via PptxGenJS. - Edit existing presentations: Unpack the OOXML structure, edit slide XML directly, validate changes, and repack the file. - Template-based creation: Analyze template decks with thumbnail grids, duplicate and reorder slides, and replace placeholder text via JSON-driven scripts. - Content analysis: Extract text with markitdown, read speaker notes and comments from raw XML, and generate slide thumbnail grids for visual review. - Use Case: Ask the assistant to build a 10-slide quarterly sales deck with charts, or to rebrand an existing presentation by editing its theme colors and replacing all placeholder text. ## Quick Start Create a five-slide PowerPoint presentation about our Q4 results with a title slide, three content slides with charts, and a closing slide.

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 presentation from HTML?▼

Create one HTML file per slide with fixed body dimensions (720pt x 405pt for 16:9), then use the html2pptx.js library with PptxGenJS to convert each file into a slide. Charts and tables are added to placeholder areas via the PptxGenJS API before saving with pptx.writeFile().

How do I edit an existing .pptx file programmatically?▼

Unpack the .pptx with the unpack.py script to expose its OOXML structure, edit the slide XML files directly, validate after each change with validate.py, and repack with pack.py. This is required for comments, speaker notes, layouts, and complex formatting.

How do I extract text from a PowerPoint file?▼

Run python -m markitdown on the .pptx file to convert its text content to markdown. For speaker notes, comments, or theme colors, unpack the file and read the raw XML under ppt/notesSlides, ppt/comments, and ppt/theme.

Can I use CSS gradients or custom fonts in generated slides?▼

No. CSS gradients are not supported and must be rasterized to PNG with Sharp first, and only web-safe fonts like Arial, Helvetica, Georgia, and Verdana should be used to avoid rendering issues in PowerPoint.

Why does my generated PPTX have text overflow or layout issues?▼

Overflow usually comes from content exceeding the fixed body dimensions or text placed too close to slide edges. Generate a thumbnail grid with thumbnail.py, inspect each slide visually, and adjust HTML margins, spacing, or font sizes before regenerating.

How do I reuse an existing template for a new presentation?▼

Extract the template's text and thumbnails, build a slide inventory, then use rearrange.py to duplicate and reorder template slides. Finally, generate replacement text as JSON and apply it with replace.py, which validates shapes and preserves formatting.