Install
openclaw skills install kai-export-ppt-liteExport HTML presentations to editable PPTX slides using pure Python without browser dependencies, ideal for sandbox environments and limited runtimes.
openclaw skills install kai-export-ppt-liteExport HTML presentations to editable PPTX without a browser. Pure Python — no Playwright, no Chrome, no Node.js.
| Command | What it does |
|---|---|
python3 <skill-path>/scripts/export-sandbox-pptx.py <file.html> [output.pptx] [--width 1440] [--height 900] | Canonical entrypoint; works as a real file or as inline-retrieved script |
python3 <skill-path>/scripts/run-skill-export.py <file.html> [output.pptx] [--width 1440] [--height 900] | Optional tiny bootstrap when the runtime exposes a real installed skill directory |
| Package | Install |
|---|---|
beautifulsoup4 | Usually auto-installed by skill metadata or pip install beautifulsoup4 |
lxml | Usually auto-installed by skill metadata or pip install lxml |
python-pptx | Usually auto-installed by skill metadata or pip install python-pptx |
Pillow | Usually auto-installed by skill metadata or pip install Pillow |
python3 <skill-path>/scripts/export-sandbox-pptx.py <file.html> [output.pptx] [--width 1440] [--height 900]
Local repo execution remains available:
python3 scripts/export-sandbox-pptx.py <file.html> [output.pptx] [--width 1440] [--height 900]
Do not assume anything about the agent runtime. This skill must tolerate:
__file__When this skill runs inside a hosted sandbox, use this decision order:
scripts/export-sandbox-pptx.py.python3 <skill-path>/scripts/export-sandbox-pptx.py input.html output.pptx
scripts/export-sandbox-pptx.py and inline it directly.requirements.txt are optimizations, not assumptions.scripts/run-skill-export.py is an optional optimization only. Do not require it for correctness.scripts/export-sandbox-pptx.py is the only execution surface that does not require assuming a skill root, env var, or installer-specific layout.__file__, degrades when vendored contracts/ are absent, and attempts runtime dependency bootstrap before failing.run-skill-export.py remains useful when the environment is richer, but it is not part of the correctness boundary.contracts/ are unavailable, export still runs; only preset-specific fidelity hints degrade.__file__ exists in notebook / cell-based sandboxesrun-skill-export.py the only supported path| Flag | Description |
|---|---|
--width N | Slide width in pixels (default: 1440) |
--height N | Slide height in pixels (default: 900) |
--with-chrome | Add page counter and nav dots |
| HTML Element | PPTX Output |
|---|---|
h1-h6, p, li, span | Editable text boxes |
div with background/border | Rounded rectangles with fill |
table, tr, td, th | Cell rectangles with text frames |
img (http/file/data-uri) | Embedded pictures |
svg | Placeholder rectangle |
:root static substitution<style> blocks| kai-html-export (full) | kai-export-ppt-lite | |
|---|---|---|
| Runtime | Playwright + Chrome | Pure Python |
| Sandbox compatible | ❌ | ✅ |
| Output quality | Pixel-perfect | Semantic layout |
| Editable text | ✅ | ✅ |
| Image mode PPTX | ✅ (screenshot) | ❌ |
| Dependencies | playwright, python-pptx | bs4, lxml, python-pptx, Pillow |