From html-skills
Generate keyboard-navigable HTML slideshow decks for presentations, tech talks, leadership briefings, onboarding walkthroughs, and any sequential visual narrative. Use whenever the user wants slides, a deck, a presentation, a tech talk, a brown-bag, a briefing, or any sequential walkthrough — especially when they want to share via a link rather than as a PowerPoint or Keynote file. Prefer HTML over .pptx whenever the deck contains live code, embedded interactivity, or will be shared as a URL.
How this skill is triggered — by the user, by Claude, or both
Slash command
/html-skills:html-slideshow-deckThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
For presentations that need to be shared as a link, contain real code or live interactivity, or be quickly assembled from existing source material, an HTML deck beats PowerPoint. It opens in any browser, presents fullscreen, and embeds anything HTML embeds.
For presentations that need to be shared as a link, contain real code or live interactivity, or be quickly assembled from existing source material, an HTML deck beats PowerPoint. It opens in any browser, presents fullscreen, and embeds anything HTML embeds.
For decks intended for corporate distribution (board meetings, customer pitches), still consider .pptx. For internal tech talks and async sharing, prefer HTML.
Keyboard-navigable: →/space for next, ← for previous, f for fullscreen, Esc to exit fullscreen. Fixed 16:9 slide aspect ratio (or 16:10), centered with letterboxing on wider/narrower screens.
Each slide is a <section> with class slide. The active slide is shown; others hidden. URL hash (#3) updates with slide number so direct linking works.
Include a thin progress bar or slide counter (e.g., "4 / 17") in a corner.
These defaults apply to every artifact this skill produces, on top of the requirements above. If a rule above conflicts with this list, the rule above wins; otherwise these are non-negotiable.
.html file the user opens in a browser — never inline-render in chat. Every artifact this skill produces is a file on disk (<topic>-<kind>.html), not an HTML block embedded in the agent's chat surface (claude.ai artifact/canvas widgets, fenced html blocks, custom rendered iframes, etc.). Inline rendering strips features, themes unpredictably against the surrounding chat (often unreadable in dark mode), and lacks the stable origin and clipboard/network access the submit handler needs. Always write the file. The file itself must be self-contained: no build step, no external runtime, inline CSS and JS. Google Fonts via <link> is fine; otherwise nothing loaded from npm or a CDN unless this skill explicitly calls for it.localStorage / sessionStorage / IndexedDB. Claude.ai artifacts can't use browser storage. State lives in JS memory; the export / copy button is the persistence layer.<pre><code> (selectable, copyable). Tabular data goes in <table>. Diagrams are inline <svg> with real <g> and <path> elements, not embedded PNGs. The reader should be able to copy any value, line, or label out of the artifact.textContent for text and document.createElement + appendChild for structure. Never set innerHTML from a string that includes a variable, user input, computed value, or imported data — it's an XSS vector and many agent harnesses (including Claude Code) block it via security hooks. Static literal markup inline in your script is fine.:root so the whole artifact can be re-skinned in one place — and so design decisions are visible, not buried in 40 inline declarations.Cmd/Ctrl+P should produce something usable: backgrounds that carry meaning print, content doesn't get clipped, dark themes have a sane print fallback.<topic>-<kind>.html) so multiple artifacts on one project compose into a readable folder, not a pile of output.html collisions.Don't pad. A 15-minute talk is ~12–15 slides for tech, fewer for narrative. More than 30 slides for a short talk usually means the speaker is reading, not presenting.
Big serif or display font for the title. Subtitle smaller. Presenter name + date. No bullet points.
The default. One headline at the top, one visual or short prose body. The audience should be able to read everything in 5 seconds and then look at the speaker.
Monospace, generously sized. Highlight the line(s) being discussed. Don't put more than ~10 lines of code on a slide; if more is needed, split across slides with the cursor moving down.
Inline SVG diagram, big enough to read from the back of a room. Caption underneath, not crowded.
Two or three columns side-by-side. Use it sparingly; comparison slides eat reading time.
Live HTML embedded right in the slide — a working button, a live chart, a small playground. The HTML deck's superpower.
Just a phrase on a colored background. Resets attention before a new theme.
Three bullets. The actual takeaways. Keep it short — the audience writes these down.
Pick a deliberate aesthetic and apply it consistently across slides. Defaults to avoid: bullet-heavy white-on-white, clip art, anything that smells like a corporate template.
Strong directions:
Pick one and commit. Mixed styles read as inconsistent.
For decks that will be presented live, support a presenter mode: pressing n toggles speaker notes (a sidebar showing notes for the current slide). Notes are written into <aside> inside each <section>.
A common use is "build a deck from this codebase / this article / these notes". When doing this:
Build me an HTML deck for an internal lightning talk on the new evaluation framework. 12 slides max, code-heavy in the middle, end with three takeaways. Use a monospace-dominant engineering aesthetic. Include speaker notes I can toggle.
Output: HTML deck with title slide, motivation, 8–9 body slides (mix of one-idea + code + one diagram), recap, and closing. Presenter mode with notes per slide. Keyboard navigation. Progress indicator in the corner.
npx claudepluginhub f-labs-io/agent-html-skills --plugin html-skillsConverts documents, outlines, or notes into self-contained HTML slide decks with horizontal (Reveal.js) or vertical scroll navigation and multiple themes.
Generates a professionally designed HTML slide deck from a brief or content notes. Single-file output with 13 layout types and 8 style presets.
Generates self-contained HTML or React slide decks for fullscreen presentations from ideas, outlines, existing content, or documents.