Help us improve
Share bugs, ideas, or general feedback.
From html-to-pptx
Converts HTML files, URLs, or piped content to PPTX presentations using PptxGenJS with Hebrew/RTL support. Modes: text parsing or image rendering; options for fonts, layouts, RTL, slide splitting.
npx claudepluginhub aviz85/claude-skills-library --plugin html-to-pptxHow this skill is triggered — by the user, by Claude, or both
Slash command
/html-to-pptx:html-to-pptxThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **First time?** If `setup_complete: false` above, run `./SETUP.md` first, then set `setup_complete: true`.
Converts HTML files, URLs, or piped content to PDF using Puppeteer for pixel-perfect rendering and Hebrew/RTL support.
Generates zero-dependency HTML slide presentations with inline CSS/JS and animations. Use for new decks from scratch, PPT/PPTX conversions, or enhancing existing HTML presentations.
Creates zero-dependency HTML presentations from scratch or by converting PowerPoint files. Guides users through visual style exploration with previews before building the final deck.
Share bugs, ideas, or general feedback.
First time? If
setup_complete: falseabove, run./SETUP.mdfirst, then setsetup_complete: true.
Convert HTML to PowerPoint (.pptx) with excellent Hebrew/RTL support using PptxGenJS.
cd ~/.claude/skills/html-to-pptx && npm install
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js input.html output.pptx
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js hebrew.html presentation.pptx --rtl
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js https://example.com slides.pptx
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js complex.html slides.pptx --mode=image
| Mode | Description | Best For |
|---|---|---|
text | Parse HTML, create native PPTX elements | Simple HTML, editable text |
image | Screenshot HTML, embed as images | Complex layouts, exact rendering |
auto | Auto-detect best mode | Default |
| Option | Description | Default |
|---|---|---|
--mode=<mode> | text, image, auto | auto |
--rtl | Force RTL for Hebrew/Arabic | auto-detect |
--title=<title> | Presentation title | auto |
--author=<author> | Author name | AVIZ |
--layout=<layout> | LAYOUT_16x9, LAYOUT_4x3 | LAYOUT_16x9 |
--font=<font> | Default font | Heebo (Hebrew) / Arial |
--font-size=<size> | Font size in points | 18 |
--background=<color> | Background color (hex) | - |
--slide-per=<selector> | Split slides by CSS selector | - |
--wait=<ms> | Wait for rendering (image mode) | 2000 |
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js hebrew.html slides.pptx --rtl --font=Heebo
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js doc.html slides.pptx --slide-per=section
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js doc.html slides.pptx --font=David --font-size=24 --background=F5F5F5
echo "<h1>שלום עולם</h1>" | node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js - output.pptx --rtl
<html lang="he" dir="rtl"> in HTML--rtl flag--mode=image for pixel-perfect resultsThe converter auto-detects slide boundaries:
<section> elements<article> elements.slide class<hr> elementsOr use --slide-per=".my-slide" for custom selectors.