- add docs/readme/montage-{themes,layouts,animations,templates}.html
- pre-render each montage to a 1920x1080 PNG via headless Chrome
- embed all 4 hero screenshots into README.md
- themes.png shows 8 live theme previews
- layouts.png shows 8 real single-page layouts
- animations.png shows 8 canvas FX tiles with running particles
- templates.png shows 6 full-deck iframes
|
||
|---|---|---|
| assets | ||
| docs/readme | ||
| examples/demo-deck | ||
| references | ||
| scripts | ||
| templates | ||
| LICENSE | ||
| README.md | ||
| SKILL.md | ||
README.md
html-ppt — HTML PPT Studio
A world-class AgentSkill for producing professional HTML presentations in 36 themes, 14 full-deck templates, 31 page layouts, and 47 animations (27 CSS + 20 canvas FX) — all pure static HTML/CSS/JS, no build step.
Author: lewis <sudolewis@gmail.com> License: MIT
Install (one command)
npx skills add https://github.com/lewislulu/html-ppt-skill
That 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 张,白底柔和风"
What's in the box
| Count | Where | |
|---|---|---|
| 🎨 Themes | 36 | assets/themes/*.css |
| 📑 Full-deck templates | 14 | 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/ |
36 Themes
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).
14 Full-deck templates
Eight extracted from real-world decks, six 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
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.
31 Single-page layouts
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.
27 CSS animations + 20 Canvas FX
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.
Quick start (manual, after install or git clone)
# 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 headless Chrome
./scripts/render.sh templates/theme-showcase.html
./scripts/render.sh examples/my-talk/index.html 12
Keyboard cheat sheet
← → Space PgUp PgDn Home End navigate
F fullscreen
S speaker notes overlay
O slide overview grid
T cycle themes
A cycle a demo animation on current slide
#/N (URL) deep-link to slide N
Project structure
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 headless Chrome → PNG
│ └── verify-output/ 56 self-test screenshots
└── examples/demo-deck/ complete working deck
Philosophy
- 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.
License
MIT © 2026 lewis <sudolewis@gmail.com>.



