exporting-presentations-to-pptx

Convert HTML presentation decks into native editable PowerPoint files with real text boxes and shapes.

Updated Mar 18, 2026
One-click install
npx skills add https://github.com/pgoell/pgoell-claude-tools --skill exporting-presentations-to-pptx-pgoell
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: exporting-presentations-to-pptx
Source: https://github.com/pgoell/pgoell-claude-tools/tree/main/plugins/presentations/skills/exporting-presentations-to-pptx
Command: npx skills add https://github.com/pgoell/pgoell-claude-tools --skill exporting-presentations-to-pptx-pgoell

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires python-pptx, pillow, pymupdf, and includes references (resource) components.

What problem does it solve? HTML slide decks look great in a browser but clients and consultants need an editable PowerPoint file they can modify directly. This Skill converts an HTML presentation into a fully native .pptx where every element is a real PowerPoint object (text boxes, autoshapes, embedded images, speaker notes) rather than flat screenshots. ## Core Features & Use Cases - Native PPTX Generation: Writes a per-deck Python generator using python-pptx that reproduces the deck's exact design tokens, colors, fonts, and layout in PowerPoint's coordinate system. - Asset Preparation: Rasterizes SVGs with PyMuPDF, circle-crops headshots with PIL, and bakes CSS opacity into PNG alpha channels before placement. - Render Verification Loop: Converts the output to PDF via LibreOffice in a container, rasterizes every slide, and visually inspects each one, iterating until the layout matches. - Use Case: A consultant finishes an HTML deck built with the creating-presentations skill and the client asks for the editable file; this Skill produces a .pptx with real text boxes, correct brand colors, and speaker notes carried over. ## Quick Start Export this HTML presentation deck to an editable PowerPoint file with all speaker notes included.

Frequently Asked Questions about exporting-presentations-to-pptx

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

FAQPage Schema
How do I convert an HTML presentation to PowerPoint?

Write a Python generator script using python-pptx that maps each HTML section to a slide, converting CSS pixel values to EMU at 6350 EMU per pixel. Rasterize SVG assets to PNG first, then verify the output by rendering to PDF with LibreOffice and inspecting each slide image.

How to convert SVG images for use in python-pptx?

python-pptx cannot place SVGs directly, so rasterize them to PNG first using PyMuPDF at four times the target display width for crispness. If PyMuPDF mis-renders a CSS-styled SVG, fall back to cairosvg, which requires the libcairo system library.

Does python-pptx support speaker notes in slides?

Yes, python-pptx supports speaker notes through slide.notes_slide.notes_text_frame.text. Notes stored in the HTML deck's JSON island, keyed by 1-based slide number, can be copied directly into each slide's notes frame.

Why do PowerPoint shapes show unwanted drop shadows?

The python-pptx add_shape template carries a theme style reference with effectRef idx="2" that renders as a drop shadow in LibreOffice and some Office themes. Remove the p:style element from the shape XML and set shape.shadow.inherit to False.

Can I verify a pptx file without Microsoft Office installed?

Yes, run LibreOffice headless inside a podman, docker, or nerdctl container to convert the pptx to PDF, then rasterize pages with PyMuPDF and inspect each slide image. Treat renders as geometry and color checks since the renderer substitutes fonts.