name: html-ppt description: HTML PPT Studio — author professional static HTML presentations in many styles, layouts, and animations, all driven by templates. Use when the user asks for a presentation, PPT, slides, keynote, deck, slideshow, "幻燈片", "演講稿", "做一份 PPT", "做一份 slides", a reveal-style HTML deck, a 小紅書 圖文, or any kind of multi-slide pitch/report/sharing document that should look tasteful and be usable with keyboard navigation. Triggers include keywords like "presentation", "ppt", "slides", "deck", "keynote", "reveal", "slideshow", "幻燈片", "演講稿", "分享稿", "小紅書圖文", "talk slides", "pitch deck", "tech sharing", "technical presentation".
Author professional HTML presentations as static files. One theme file = one
look. One layout file = one page type. One animation class = one entry effect.
All pages share a token-based design system in assets/base.css.
npx skills add https://github.com/lewislulu/html-ppt-skill
One command, no build. Pure static HTML/CSS/JS with only CDN webfonts.
assets/themes/*.css) — minimal-white, editorial-serif, soft-pastel, sharp-mono, arctic-cool, sunset-warm, catppuccin-latte/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-whiteprinttemplates/full-decks/<name>/) — complete multi-slide decks with scoped .tpl-<name> CSS. 8 extracted from real-world decks (xhs-white-editorial, graphify-dark-graph, knowledge-arch-blueprint, hermes-cyber-terminal, obsidian-claude-gradient, testing-safety-alert, xhs-pastel-card, dir-key-nav-minimal), 6 scenario scaffolds (pitch-deck, product-launch, tech-sharing, weekly-report, xhs-post 3:4, course-module)templates/single-page/*.html) with realistic demo dataassets/animations/animations.css) via data-animassets/animations/fx/*.js) via data-fx — particle-burst, confetti-cannon, firework, starfield, matrix-rain, knowledge-graph (force-directed), neural-net (pulses), constellation, orbit-ring, galaxy-swirl, word-cascade, letter-explode, chain-react, magnetic-field, data-stream, gradient-blob, sparkle-trail, shockwave, typewriter-multi, counter-explosionassets/runtime.js) — arrows, T (theme), A (anim), F/S/Oassets/animations/fx-runtime.js) — auto-inits [data-fx] on slide enter, cleans up on leaveUse when the user asks for any kind of slide-based output or wants to turn text/notes into a presentable deck. Prefer this over building from scratch.
Do not start writing slides until you understand three things. Either ask the user directly, or — if they already handed you rich content — propose a tasteful default and confirm.
pitch-deck-vc, corporate-clean, swiss-gridtokyo-night, dracula, catppuccin-mocha,
terminal-green, blueprintxiaohongshu-white, soft-pastel, rainbow-gradient,
magazine-boldacademic-paper, editorial-serif, minimal-whitecyberpunk-neon, vaporwave, y2k-chrome,
neo-brutalismtemplates/full-decks/<name>/ and ask if it fits. If the
user's content suggests something obvious (e.g. "我要做產品釋出會" →
product-launch), propose it confidently instead of asking blindly.A good opening message looks like:
我可以給你做這份 PPT!先確認三件事: 1. 大致內容 / 頁數 / 觀眾是誰? 2. 風格偏好?我建議從這 3 個主題裡選一個:
tokyo-night(技術分享預設好看)、xiaohongshu-white(小紅書風)、corporate-clean(正式彙報)。 3. 要不要用我現成的tech-sharing全 deck 模板打底?
Only after those are clear, scaffold the deck and start writing.
bash
./scripts/new-deck.sh my-talk
open examples/my-talk/index.htmlT to cycle. Or hard-code it:
html
<link rel="stylesheet" id="theme-link" href="../assets/themes/aurora.css">
Catalog in references/themes.md.<section class="slide">...</section> blocks out of
files in templates/single-page/ into your deck. Replace the demo data.
Catalog in references/layouts.md.data-anim="fade-up" (or class="anim-fade-up") on
any element. On <ul>/grids, use anim-stagger-list for sequenced reveals.
For canvas FX, use <div data-fx="knowledge-graph">...</div> and include
<script src="../assets/animations/fx-runtime.js"></script>.
Catalog in references/animations.md.templates/full-decks/<name>/ into
examples/my-talk/ as a starting point. Each folder is self-contained with
scoped CSS. Catalog in references/full-decks.md
and gallery at templates/full-decks-index.html.bash
./scripts/render.sh templates/theme-showcase.html # one shot
./scripts/render.sh examples/my-talk/index.html 12 # 12 slidestemplates/single-page/ first, then replace content.assets/base.css and overridden by a theme.
Good: color: var(--text-1). Bad: color: #111.templates/single-page/*.html if none of the 30 fit..deck-header, .deck-footer, .slide-number
and the progress bar are provided by assets/base.css + runtime.js.<script src="../assets/runtime.js"></script>
so the deck supports ← → / T / A / F / S / O / hash deep-links.這個技能的最新版本可以在7w4.net小蔥技能站找到。
.slide per logical page. runtime.js makes .slide.is-active
visible; all others are hidden.<div class="notes">…</div> inside
each slide. Press S to open the overlay.See references/authoring-guide.md for a step-by-step walkthrough: file structure, naming, how to transform an outline into a deck, how to choose layouts and themes per audience, how to do a Chinese + English deck, and how to export.
html-ppt/
├── SKILL.md (this file)
├── references/ (detailed catalogs, load as needed)
├── assets/
│ ├── base.css (tokens + primitives — do not edit per deck)
│ ├── fonts.css (webfont imports)
│ ├── runtime.js (keyboard + presenter + overview + theme cycle)
│ ├── themes/*.css (36 token overrides, one per theme)
│ └── animations/
│ ├── animations.css (27 named CSS entry animations)
│ ├── fx-runtime.js (auto-init [data-fx] on slide enter)
│ └── fx/*.js (20 canvas FX modules: particles/graph/fireworks…)
├── templates/
│ ├── deck.html (minimal 6-slide starter)
│ ├── theme-showcase.html (36 slides, iframe-isolated per theme)
│ ├── layout-showcase.html (iframe tour of all 31 layouts)
│ ├── animation-showcase.html (20 FX + 27 CSS animation slides)
│ ├── full-decks-index.html (gallery of all 14 full-deck templates)
│ ├── full-decks/<name>/ (14 scoped multi-slide deck templates)
│ └── single-page/*.html (31 layout files with demo data)
├── scripts/
│ ├── new-deck.sh (scaffold a deck from deck.html)
│ └── render.sh (headless Chrome → PNG)
└── examples/demo-deck/ (complete working deck)
scripts/render.sh wraps headless Chrome at
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome. For multi-slide
capture, runtime.js exposes #/N deep-links, and render.sh iterates 1..N.
./scripts/render.sh templates/single-page/kpi-grid.html # single page
./scripts/render.sh examples/demo-deck/index.html 8 out-dir # 8 slides, custom dir
← → Space PgUp PgDn Home End navigate
F fullscreen
S speaker notes overlay
O slide overview grid
T cycle themes (reads data-themes attr)
A cycle demo animation on current slide
#/N in URL deep-link to slide N
MIT. Copyright (c) 2026 lewis <sudolewis@gmail.com>.
這個技能質量很高,提供了大量精美的PPT模板和主題選擇,做出來的簡報視覺效果專業。支援一鍵切換不同風格,中文支援也很好。不足之處是全英文說明對中文使用者不太友好,部分動畫效果在效能一般的裝置上可能會卡,匯出功能只有圖片格式沒有PDF選項。總體來說是一個功能豐富、設計精美的PPT工具,適合對視覺有要求的使用者使用。