A world-class AgentSkill for producing professional HTML presentations in 36 themes, 15 full-deck templates, 31 page layouts, 47 animations (27 CSS + 20 canvas FX), and a true presenter mode with pixel-perfect previews + speaker script + timer โ all pure static HTML/CSS/JS, no build step.
Author: lewis <sudolewis@gmail.com> License: MIT ไธญๆๆๆกฃ: README.zh-CN.md
One command installs 36 themes ร 20 canvas FX ร 31 layouts ร 15 full decks + presenter mode. Every preview above is a live iframe of a real template file rendering inside the deck โ no screenshots, no mock-ups.
Press S on any deck to pop open a dedicated presenter window with four
draggable, resizable magnetic cards: current slide, next slide preview,
speaker script (้ๅญ็จฟ), and timer. Two windows stay in sync via
BroadcastChannel.
Why previews are pixel-perfect: each card is an <iframe> that loads the
same deck HTML with a ?preview=N query param. The runtime detects this and
renders only slide N with no chrome โ so the preview uses the same CSS,
theme, fonts and viewport as the audience view. Colors and layout are
guaranteed identical.
Smooth (no-reload) navigation: on slide change, the presenter window
sends postMessage({type:'preview-goto', idx:N}) to each iframe. The iframe
just toggles .is-active between slides โ no reload, no flicker.
Speaker script rules (3 golden):
- Prompt signals, not lines to read โ bold the keywords, separate transition sentences into their own paragraphs
- 150โ300 words per slide โ that's the ~2โ3 min/page pace
- Write it like you speak โ conversational, not written prose
See references/presenter-mode.md for the
full authoring guide, or copy the ready-made template at
templates/full-decks/presenter-mode-reveal/ which ships with full 150-300
word speaker scripts on every slide.
npx skills add https://github.com/lewislulu/html-ppt-skillThat registers the skill with your agent runtime. After install, any agent that supports AgentSkills can author presentations by asking things like:
"ๅไธไปฝ 8 ้กต็ๆๆฏๅไบซ slides๏ผ็จ cyberpunk ไธป้ข" "turn this outline into a pitch deck" "ๅไธไธชๅฐ็บขไนฆๅพๆ๏ผ9 ๅผ ๏ผ็ฝๅบๆๅ้ฃ"
| Count | Where | |
|---|---|---|
| ๐ค Presenter mode | NEW | S key / ?preview=N |
| ๐จ Themes | 36 | assets/themes/*.css |
| ๐ Full-deck templates | 15 | templates/full-decks/<name>/ |
| ๐งฉ Single-page layouts | 31 | templates/single-page/*.html |
| โจ CSS animations | 27 | assets/animations/animations.css |
| ๐ฅ Canvas FX animations | 20 | assets/animations/fx/*.js |
| ๐ผ๏ธ Showcase decks | 4 | templates/*-showcase.html |
| ๐ธ Verification screenshots | 56 | scripts/verify-output/ |
minimal-white, editorial-serif, soft-pastel, sharp-mono, arctic-cool,
sunset-warm, catppuccin-latte, catppuccin-mocha, dracula, tokyo-night,
nord, solarized-light, gruvbox-dark, rose-pine, neo-brutalism,
glassmorphism, bauhaus, swiss-grid, terminal-green, xiaohongshu-white,
rainbow-gradient, aurora, blueprint, memphis-pop, cyberpunk-neon,
y2k-chrome, retro-tv, japanese-minimal, vaporwave, midcentury,
corporate-clean, academic-paper, news-broadcast, pitch-deck-vc,
magazine-bold, engineering-whiteprint.
Each is a pure CSS-tokens file โ swap one <link> to reskin the entire deck.
Browse them all in templates/theme-showcase.html (each slide rendered in an
isolated iframe so theme โ theme is visually guaranteed).
Eight extracted from real-world decks, seven generic scenario scaffolds:
Extracted looks
xhs-white-editorialโ ๅฐ็บขไนฆ็ฝๅบๆๅฟ้ฃgraphify-dark-graphโ ๆๅบ + ๅๅฏผๅ็ฅ่ฏๅพ่ฐฑknowledge-arch-blueprintโ ่ๅพ / ๆถๆๅพ้ฃhermes-cyber-terminalโ ็ป็ซฏ cyberpunkobsidian-claude-gradientโ ็ดซ่ฒๆธๅๅกtesting-safety-alertโ ็บข / ็ฅ็่ญฆ็คบ้ฃxhs-pastel-cardโ ๆๅ้ฉฌๅก้พๅพๆdir-key-nav-minimalโ ๆนๅ้ฎๆ็ฎ
Scenario decks
pitch-deck,product-launch,tech-sharing,weekly-report,xhs-post(9-slide 3:4),course-module,presenter-mode-reveal๐ค โ complete talk template with full 150-300 word speaker scripts on every slide, designed around theSkey presenter mode
Each is a self-contained folder with scoped .tpl-<name> CSS so multiple
decks can be previewed side-by-side without collisions. Browse the full
gallery in templates/full-decks-index.html.
cover ยท toc ยท section-divider ยท bullets ยท two-column ยท three-column ยท big-quote ยท stat-highlight ยท kpi-grid ยท table ยท code ยท diff ยท terminal ยท flow-diagram ยท timeline ยท roadmap ยท mindmap ยท comparison ยท pros-cons ยท todo-checklist ยท gantt ยท image-hero ยท image-grid ยท chart-bar ยท chart-line ยท chart-pie ยท chart-radar ยท arch-diagram ยท process-steps ยท cta ยท thanks
Every layout ships with realistic demo data so you can drop it into a deck and immediately see it render.
The big iframe is loading templates/single-page/<name>.html directly and cycling through all 31 layouts every 2.8 seconds.
CSS (lightweight) โ directional fades, rise-in, zoom-pop, blur-in,
glitch-in, typewriter, neon-glow, shimmer-sweep, gradient-flow,
stagger-list, counter-up, path-draw, morph-shape, parallax-tilt,
card-flip-3d, cube-rotate-3d, page-turn-3d, perspective-zoom,
marquee-scroll, kenburns, ripple-reveal, spotlight, โฆ
Canvas FX (cinematic) โ particle-burst, confetti-cannon, firework,
starfield, matrix-rain, knowledge-graph (force-directed physics),
neural-net (signal pulses), constellation, orbit-ring, galaxy-swirl,
word-cascade, letter-explode, chain-react, magnetic-field,
data-stream, gradient-blob, sparkle-trail, shockwave,
typewriter-multi, counter-explosion. Each is a real hand-rolled canvas
module auto-initialised on slide enter via fx-runtime.js.
# Scaffold a new deck from the base template
./scripts/new-deck.sh my-talk
# Browse everything
open templates/theme-showcase.html # all 36 themes (iframe-isolated)
open templates/layout-showcase.html # all 31 layouts
open templates/animation-showcase.html # all 47 animations
open templates/full-decks-index.html # all 14 full decks
# Render any template to PNG via managed Chromium
./scripts/render.sh templates/theme-showcase.html
./scripts/render.sh examples/my-talk/index.html 12โ โ Space PgUp PgDn Home End navigate
F fullscreen
S open presenter window (magnetic cards)
N quick notes drawer (bottom)
R reset timer (in presenter window)
O slide overview grid
T cycle themes (syncs to presenter)
A cycle a demo animation on current slide
#/N (URL) deep-link to slide N
?preview=N (URL) preview-only mode (single slide, no chrome)
html-ppt-skill/
โโโ SKILL.md agent-facing dispatcher
โโโ README.md this file
โโโ references/ detailed catalogs
โ โโโ themes.md 36 themes with when-to-use
โ โโโ layouts.md 31 layout types
โ โโโ animations.md 27 CSS + 20 FX catalog
โ โโโ full-decks.md 14 full-deck templates
โ โโโ authoring-guide.md full workflow
โโโ assets/
โ โโโ base.css shared tokens + primitives
โ โโโ fonts.css webfont imports
โ โโโ runtime.js keyboard + presenter + overview
โ โโโ themes/*.css 36 theme token files
โ โโโ animations/
โ โโโ animations.css 27 named CSS animations
โ โโโ fx-runtime.js auto-init [data-fx] on slide enter
โ โโโ fx/*.js 20 canvas FX modules
โโโ templates/
โ โโโ deck.html minimal starter
โ โโโ theme-showcase.html iframe-isolated theme tour
โ โโโ layout-showcase.html all 31 layouts
โ โโโ animation-showcase.html 47 animation slides
โ โโโ full-decks-index.html 14-deck gallery
โ โโโ full-decks/<name>/ 14 scoped multi-slide decks
โ โโโ single-page/*.html 31 layout files with demo data
โโโ scripts/
โ โโโ new-deck.sh scaffold
โ โโโ render.sh managed Chromium โ PNG
โ โโโ verify-output/ 56 self-test screenshots
โโโ examples/demo-deck/ complete working deck
- Token-driven design system. All color, radius, shadow, font decisions
live in
assets/base.css+ the current theme file. Change one variable, the whole deck reflows tastefully. - Iframe isolation for previews. Theme / layout / full-deck showcases all
use
<iframe>per slide so each preview is a real, independent render. - Zero build. Pure static HTML/CSS/JS. CDN only for webfonts, highlight.js and chart.js (optional).
- Senior-designer defaults. Opinionated type scale, spacing rhythm, gradients and card treatments โ no "Corporate PowerPoint 2006" vibes.
- Chinese + English first-class. Noto Sans SC / Noto Serif SC pre-imported.
MIT ยฉ 2026 lewis <sudolewis@gmail.com>.






