--- name: html-ppt-skill description: Build professional HTML presentations with 36 themes, 31 layouts, 47 animations — pure static HTML/CSS/JS, no build step required. triggers: - create a presentation in HTML - make slides with animations - build a pitch deck HTML - generate HTML PPT with themes - create a slideshow with canvas effects - make a 小红书 style slide deck - scaffold a new HTML presentation - add animations to my HTML slides --- # html-ppt-skill — HTML PPT Studio > Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection. A world-class AgentSkill for producing professional HTML presentations using **36 themes**, **14 full-deck templates**, **31 page layouts**, and **47 animations** (27 CSS + 20 canvas FX) — all pure static HTML/CSS/JS, zero build step. --- ## Install ```bash # Register with your agent runtime npx skills add https://github.com/lewislulu/html-ppt-skill # Or clone directly git clone https://github.com/lewislulu/html-ppt-skill ``` --- ## Scaffold a New Deck ```bash # Create a new deck from the base template ./scripts/new-deck.sh my-talk # Output: examples/my-talk/index.html (ready to edit) ``` --- ## Project Structure (Key Paths) ``` html-ppt-skill/ ├── assets/ │ ├── base.css # shared tokens + primitives │ ├── runtime.js # keyboard nav + 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 # all 36 themes (iframe-isolated) │ ├── 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 └── examples/demo-deck/ # complete working deck ``` --- ## Minimal Deck Template Every deck follows this structure — `assets/base.css` + one theme file + `runtime.js`: ```html My Talk

My Presentation

Subtitle goes here

Key Points

  • First important point
  • Second important point
  • Third important point
"Design is not just what it looks like. Design is how it works."
— Steve Jobs

Thank You

github.com/yourhandle

``` --- ## Themes (36 total) Swap the single `` to change the entire deck's appearance. All themes live in `assets/themes/*.css`. ```html ``` Browse all 36 themes live: `open templates/theme-showcase.html` --- ## Layouts (31 total) Set via `data-layout` on each `
`. ```html
``` Browse all 31 layouts live: `open templates/layout-showcase.html` --- ## CSS Animations Add class to any element. Use `--delay` CSS variable for staggering. ```html

Title

Subtitle

Blurred entrance

Typed out text

Glitched text Glowing text Shimmer effect
Animated gradient background
0
Scrolling ticker text…
Tilt on hover
Ripple entrance
Spotlight effect
``` --- ## Canvas FX Animations Add `data-fx` attribute to trigger cinematic canvas effects on slide enter: ```html

Big Launch

Thank You!

``` `fx-runtime.js` auto-initialises these on slide enter — no extra JS needed. --- ## Full-Deck Templates (14 total) Pre-built complete decks in `templates/full-decks//`: ```bash # Business / Generic templates/full-decks/pitch-deck/ templates/full-decks/product-launch/ templates/full-decks/tech-sharing/ templates/full-decks/weekly-report/ templates/full-decks/course-module/ # Social / Chinese templates/full-decks/xhs-post/ # 9-slide 3:4 ratio templates/full-decks/xhs-white-editorial/ templates/full-decks/xhs-pastel-card/ # Technical / Dark templates/full-decks/graphify-dark-graph/ templates/full-decks/hermes-cyber-terminal/ templates/full-decks/knowledge-arch-blueprint/ # Specific Styles templates/full-decks/obsidian-claude-gradient/ templates/full-decks/testing-safety-alert/ templates/full-decks/dir-key-nav-minimal/ ``` Each deck uses scoped `.tpl-` CSS — safe to embed multiple decks side-by-side. Browse all: `open templates/full-decks-index.html` --- ## Common Deck Patterns ### Pitch Deck (VC Style) ```html Pitch Deck

CompanyName

One-line value proposition

Seed Round · 2026

Traction

0
0
$0M

The Problem / Solution

😩 Problem

  • Pain point one
  • Pain point two

✅ Solution

  • How we fix it
  • Why we win

Join Us

hello@company.com

``` ### Tech Talk / Engineering ```html Tech Sharing

How We Scaled to 10M RPS

Engineering Deep Dive · 2026

The Bottleneck


# Before: naive approach — O(n²) lookup
def find_user(users, uid):
    for user in users:      # 💀 scans entire list
        if user.id == uid:
            return user

# After: hash map — O(1)
user_index = {u.id: u for u in users}
def find_user(uid):
    return user_index.get(uid)  # ⚡ instant
      

Migration Roadmap

Q1 Audit + profiling
Q2 Hash-map refactor
Q3 Cache layer + CDN
Q4 10M RPS achieved ✓
``` ### 小红书 Style (3:4 ratio) ```html 小红书图文

5个让你效率翻倍的工具

📌 收藏备用!

工具 01

Notion

把你的大脑外包给它,笔记 / 任务 / Wiki 一体化

觉得有用的话

💾 收藏 + 👍 点赞 + 💬 评论你用什么工具

``` --- ## Speaker Notes Add notes inside `.slide-notes` — revealed by pressing `S`: ```html

Architecture Overview

  • Service A handles ingestion
  • Service B handles processing
``` --- ## Deep Linking & URL Navigation Link directly to a slide by appending `#N` or `?slide=N`: ```html Jump to Architecture slide window.location.hash = '3'; ``` --- ## Keyboard Controls | Key | Action | |---|---| | `← → Space PgUp PgDn` | Navigate slides | | `Home / End` | First / last slide | | `F` | Fullscreen | | `S` | Speaker notes overlay | | `O` | Slide overview grid | | `T` | Cycle through themes | | `A` | Demo animation on current slide | --- ## Render to PNG (Headless Chrome) ```bash # Single template, default viewport ./scripts/render.sh templates/theme-showcase.html # Specific deck, 12 slides ./scripts/render.sh examples/my-talk/index.html 12 # Output lands in scripts/verify-output/ ls scripts/verify-output/*.png ``` --- ## Browse Showcase Files ```bash # All 36 themes (each in an isolated iframe) open templates/theme-showcase.html # All 31 layouts with real demo data open templates/layout-showcase.html # All 47 animations (CSS + canvas FX) open templates/animation-showcase.html # All 14 full-deck templates in a gallery open templates/full-decks-index.html ``` --- ## Troubleshooting **Animations not firing on slide enter** - Ensure `fx-runtime.js` is loaded after `runtime.js` - Check `data-fx` value matches a name in `assets/animations/fx/*.js` - Canvas FX requires a visible `` — `fx-runtime.js` injects one automatically if absent **Theme not applying** - Only one theme `` should be active at a time - Theme file must be loaded after `base.css` - Scoped deck templates use `.tpl-` class on `` — add it when embedding **Fonts not loading (offline)** - `fonts.css` loads Noto Sans SC / Noto Serif SC from Google Fonts CDN - For offline use, download fonts and update `@font-face` paths in `assets/fonts.css` **3:4 ratio slides look stretched** - Add `aspect-ratio: 3 / 4` and constrain `max-width` on `.slide` (see XHS example above) - Default slides are 16:9 widescreen **Code blocks not highlighted** - Include highlight.js from CDN: `` - Call `hljs.highlightAll()` after DOM load **Chart layouts blank** - `chart-bar`, `chart-line`, `chart-pie`, `chart-radar` layouts expect Chart.js - Include: ``