Html2pptx
a skill that can convert browser-rendered HTML/WebDeck slide decks to editable PowerPoint PPTX
npx -y skills add GX-Alex/html2pptx --skill html2pptxAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Convert HTML/WebDeck slide presentations into editable PowerPoint PPTX files using a browser-rendered DOM-to-SVG pipeline and native DrawingML conversion. Use when Codex needs to export .html/.htm slide decks, WebDeck documents, ECharts-heavy decks, or DOM/CSS presentations to editable .pptx while preserving text, shapes, SVG primitives, and chart vectors better than screenshot-based export.
SKILL.md
3.4 KB, as published. Nobody here has run it
HTML2PPTX
Use this skill to convert browser-rendered HTML slide decks into editable PPTX. The bundled pipeline is:
html_dom_to_editable_svg.js: launch Chromium, render the deck, extract DOM/CSS/SVG/ECharts into editable SVG primitives.svg_to_pptx: convert SVG primitives to native PowerPoint DrawingML shapes.html2pptx.py: wrapper CLI that runs both steps and validates the generated PPTX structure.
Quick Start
Run the wrapper script from this skill folder:
python scripts/html2pptx.py input.html -o output.pptx
If Chromium is not discoverable or browser launch fails, pass an executable:
python scripts/html2pptx.py input.html -o output.pptx \
--chrome "/path/to/Google Chrome or Chromium"
--chrome-path is also accepted as an alias. On Windows, prefer:
python scripts/html2pptx.py examples/basic-deck.html -o basic-deck.pptx \
--chrome-path "C:/Program Files/Google/Chrome/Application/chrome.exe"
Keep intermediate SVG files for debugging:
python scripts/html2pptx.py input.html -o output.pptx \
--workdir /tmp/html2pptx-debug --keep-workdir
Recommended Workflow
- Confirm the input is an HTML slide deck, usually containing
.deck-slide,.deck-stage,.deck-page, or similar fixed-size slide containers. Plain single-page HTML is also supported and will be wrapped as one 1280x720 slide automatically. - Run
scripts/html2pptx.py. - Inspect the command summary:
pictures=0is ideal for fully editable output.- A large
shapescount means the deck was converted as native shapes/text.
- If specific pages look wrong, rerun with
--keep-workdirand inspectsvg_output/NN_slide.svg. - For malformed source decks, read
references/troubleshooting.md.
Output Expectations
The generated PPTX is editable, not pixel-perfect. It preserves:
- Text as editable text boxes where possible.
- Rectangles, lines, circles, paths, and many SVG primitives as editable shapes.
- Rounded boxes with uniform CSS borders as editable rounded rectangles.
- ECharts charts as vector SVG primitives when the chart can render or be rebuilt in SVG mode.
- Common Font Awesome Free solid
<i class="fa-...">icons as editable SVG paths through an offline subset. - Speaker notes generated from slide text.
Known limitations:
- Full HTML documents nested inside each slide may still require preprocessing.
- Long scroll-page layouts are clipped to the 1280x720 slide viewport.
- CSS pseudo-elements, filters, shadows, complex masks, unsupported external icon fonts, and advanced gradients may degrade.
- The pipeline requires local Chromium/Chrome and Node.js.
Cross-Agent Usage
- Codex: invoke this skill as
$html2pptx, then runscripts/html2pptx.py. - Claude Code: read this
SKILL.md, then call the same wrapper script. - opencode: use the wrapper script directly, or follow the repo-level
AGENTS.mdif present.
For project setup and multilingual documentation, use the repository README files outside the skill folder.