← Back to Skills Marketplace
lewislulu

html-ppt — HTML PPT Studio

by luuuyi · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
396
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install 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...
README (SKILL.md)

html-ppt — HTML PPT Studio

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.

Install

npx skills add https://github.com/lewislulu/html-ppt-skill

One command, no build. Pure static HTML/CSS/JS with only CDN webfonts.

What the skill gives you

  • 36 themes (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-whiteprint
  • 14 full-deck templates (templates/full-decks/\x3Cname>/) — complete multi-slide decks with scoped .tpl-\x3Cname> 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)
  • 31 layouts (templates/single-page/*.html) with realistic demo data
  • 27 CSS animations (assets/animations/animations.css) via data-anim
  • 20 canvas FX animations (assets/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-explosion
  • Keyboard runtime (assets/runtime.js) — arrows, T (theme), A (anim), F/S/O
  • FX runtime (assets/animations/fx-runtime.js) — auto-inits [data-fx] on slide enter, cleans up on leave
  • Showcase decks for themes / layouts / animations / full-decks gallery
  • Headless Chrome render script for PNG export

When to use

Use 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.

Before you author anything — ALWAYS ask or recommend

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.

  1. Content & audience. What's the deck about, how many slides, who's watching (engineers / execs / 小红书读者 / 学生 / VC)?
  2. Style / theme. Which of the 36 themes fits? If unsure, recommend 2-3 candidates based on tone:
    • Business / investor pitch → pitch-deck-vc, corporate-clean, swiss-grid
    • Tech sharing / engineering → tokyo-night, dracula, catppuccin-mocha, terminal-green, blueprint
    • 小红书图文 → xiaohongshu-white, soft-pastel, rainbow-gradient, magazine-bold
    • Academic / report → academic-paper, editorial-serif, minimal-white
    • Edgy / cyber / launch → cyberpunk-neon, vaporwave, y2k-chrome, neo-brutalism
  3. Starting point. One of the 14 full-deck templates, or scratch? Point to the closest templates/full-decks/\x3Cname>/ 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.

Quick start

  1. Scaffold a new deck. From the repo root:
    ./scripts/new-deck.sh my-talk
    open examples/my-talk/index.html
    
  2. Pick a theme. Open the deck and press T to cycle. Or hard-code it:
    \x3Clink rel="stylesheet" id="theme-link" href="../assets/themes/aurora.css">
    
    Catalog in references/themes.md.
  3. Pick layouts. Copy \x3Csection class="slide">...\x3C/section> blocks out of files in templates/single-page/ into your deck. Replace the demo data. Catalog in references/layouts.md.
  4. Add animations. Put data-anim="fade-up" (or class="anim-fade-up") on any element. On \x3Cul>/grids, use anim-stagger-list for sequenced reveals. For canvas FX, use \x3Cdiv data-fx="knowledge-graph">...\x3C/div> and include \x3Cscript src="../assets/animations/fx-runtime.js">\x3C/script>. Catalog in references/animations.md.
  5. Use a full-deck template. Copy templates/full-decks/\x3Cname>/ 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.
  6. Render to PNG.
    ./scripts/render.sh templates/theme-showcase.html       # one shot
    ./scripts/render.sh examples/my-talk/index.html 12      # 12 slides
    

Authoring rules (important)

  • Always start from a template. Don't author slides from scratch — copy the closest layout from templates/single-page/ first, then replace content.
  • Use tokens, not literal colors. Every color, radius, shadow should come from CSS variables defined in assets/base.css and overridden by a theme. Good: color: var(--text-1). Bad: color: #111.
  • Don't invent new layout files. Prefer composing existing ones. Only add a new templates/single-page/*.html if none of the 30 fit.
  • Respect chrome slots. .deck-header, .deck-footer, .slide-number and the progress bar are provided by assets/base.css + runtime.js.
  • Keyboard-first. Always include \x3Cscript src="../assets/runtime.js">\x3C/script> so the deck supports ← → / T / A / F / S / O / hash deep-links.
  • One .slide per logical page. runtime.js makes .slide.is-active visible; all others are hidden.
  • Supply notes. Wrap speaker notes in \x3Cdiv class="notes">…\x3C/div> inside each slide. Press S to open the overlay.

Writing guide

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.

Catalogs (load when needed)

File structure

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/\x3Cname>/         (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)

Rendering to PNG

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

Keyboard cheat sheet

←  →  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

License & author

MIT. Copyright (c) 2026 lewis <[email protected]>.

Usage Guidance
This skill appears to be what it says: a large static collection of HTML/CSS/JS templates and canvas animations for authoring presentations. Before installing or running anything: 1) Inspect the two shell scripts (scripts/new-deck.sh and scripts/render.sh) for any commands that access unexpected files, perform network calls, or run arbitrary installers; 2) Examine SKILL.md and README in a raw editor to check for hidden unicode control characters and any unexpected instructions; 3) If you plan to use the shown 'npx' install, verify the upstream GitHub repository and author (or clone locally and review) rather than blindly running npx; 4) Run scripts in a sandbox or throwaway environment first (or read their contents) — rendering scripts that invoke headless Chrome or other tools can execute arbitrary shell commands; 5) If you need higher assurance, run a quick grep for network requests (fetch/XHR, script src to remote hosts) inside the bundle and inspect any references to CDNs or external resources. If you want, I can fetch and display the contents of scripts/new-deck.sh and scripts/render.sh (or the raw SKILL.md) so you can check them line-by-line.
Capability Analysis
Type: OpenClaw Skill Name: html-ppt Version: 1.0.0 The html-ppt skill bundle is a comprehensive framework for authoring professional HTML presentations. It utilizes a token-based design system with 36 themes and 31 layouts, all implemented using standard HTML, CSS, and vanilla JavaScript. The included shell scripts, `new-deck.sh` and `render.sh`, perform legitimate scaffolding and headless Chrome rendering tasks respectively. The JavaScript runtimes (`runtime.js` and `fx-runtime.js`) manage keyboard navigation and canvas-based animations locally without any evidence of data exfiltration, unauthorized network calls, or malicious prompt injection.
Capability Tags
cryptocan-make-purchasesrequires-oauth-tokenrequires-sensitive-credentials
Capability Assessment
Purpose & Capability
Name/description match the included assets: many themes, templates, CSS animations, canvas FX modules, and runtime JS. The listed files (templates, assets, animations, examples) are proportionate to an HTML presentation authoring skill.
Instruction Scope
SKILL.md is narrowly scoped to authoring slides and shows commands to scaffold decks and render to PNG (scripts/new-deck.sh and scripts/render.sh). Those scripts will execute on the user's machine — this is within the feature's purpose but merits manual review because scripts can run arbitrary shell commands. SKILL.md also recommends running an npx command to pull the repo (network fetch).
Install Mechanism
There is no formal install spec in the registry bundle (instruction-only). However, the README/SKILL.md suggests 'npx skills add https://github.com/lewislulu/html-ppt-skill' which fetches code from an external GitHub repo. Pulling remote code via npx is expected for third-party skills but increases risk — verify the repository and the shell scripts before executing.
Credentials
The skill requests no environment variables, no credentials, and no config paths. The included JS operates in-browser (DOM/canvas) and does not reference secrets or external tokens in the provided files.
Persistence & Privilege
Registry flags are default (always:false, model-invocation allowed). The skill does not request permanent/global privileges and there is no evidence it attempts to modify other skills or system-wide settings.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install html-ppt
  3. After installation, invoke the skill by name or use /html-ppt
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release · 36 themes · 31 layouts · 47 animations · 14 full-deck templates
Metadata
Slug html-ppt
Version 1.0.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is html-ppt — HTML PPT Studio?

HTML PPT Studio — author professional static HTML presentations in many styles, layouts, and animations, all driven by templates. Use when the user asks for... It is an AI Agent Skill for Claude Code / OpenClaw, with 396 downloads so far.

How do I install html-ppt — HTML PPT Studio?

Run "/install html-ppt" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is html-ppt — HTML PPT Studio free?

Yes, html-ppt — HTML PPT Studio is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does html-ppt — HTML PPT Studio support?

html-ppt — HTML PPT Studio is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created html-ppt — HTML PPT Studio?

It is built and maintained by luuuyi (@lewislulu); the current version is v1.0.0.

💬 Comments