# 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 ![html-ppt · 36 themes](docs/readme/themes.png) ## Install (one command) ```bash 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//` | | 🧩 **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 `` 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](docs/readme/templates.png) ### 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` — 终端 cyberpunk - `obsidian-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-` 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](docs/readme/layouts.png) ### 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. ![47 animations — 27 CSS + 20 canvas FX](docs/readme/animations.png) ### 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) ```bash # 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// 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 `