Individual skill
html-demo
Show an app working on a web page by drawing it live in HTML instead of recording it. A Mac-style window plays the app step by step, and every frame is a pure function of one clock, View(t), drawn on a fixed 1200 × 750 stage that one CSS scale fits to any width. The pointer is scripted, labels and pictures come from the real app, a steps bar sits under the window, it plays only while on screen, and reduced motion gets designed end frames. Use when someone wants a product demo, an animated app window or hero, a feature walkthrough, "the UI animated and simulated in HTML", "like a screen recording but HTML", an interactive product tour on a landing or download page, or wants to replace screen recordings, GIFs or MP4s of their UI with crisp live HTML. Also use to build many such windows at once with helper agents, or to scrub, freeze and screenshot them.
agent-skills/web-design/html-demo/SKILL.md
Source commit 5ea1661a0e05d82b054553daaa6baf6d0233c33c
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Network or broad shell
- Last checked
- Nov 9, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 7,337
- Repository last updated
- Nov 8, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- design Derived category
- design-interface Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 14,485 bytesSKILL.mdcore · 14,485 bytesSKILL.mdcore · 14,485 bytesSKILL.mdcore · 14,485 bytesSKILL.mdcore · 14,485 bytesagents/openai.yamlasset · 381 bytesdemo/PROMPT.mddoc · 3,549 bytesdemo/avatar.webpasset · 3,006 bytesdemo/cathedral.webpasset · 51,958 bytesdemo/index.htmlasset · 46,008 bytesdemo/knight.webpasset · 32,420 bytesdemo/preview.jpgasset · 78,219 bytesreferences/brief.mddoc · 5,428 bytesreferences/contract.mddoc · 5,173 bytesreferences/film.mddoc · 5,048 bytesscripts/StepWindow.jsxruns · 9,892 bytesscripts/example-steps.jsxruns · 4,044 bytesscripts/preview-plugin.mjsruns · 2,001 bytesscripts/shoot.mjsruns · 2,356 bytesscripts/step-window.cssasset · 5,411 bytesscripts/step-window.jsruns · 8,424 bytes
Read excerpt
# HTML Demo
**React · DOM/CSS** (a vanilla twin is in `scripts/step-window.js`). No video, canvas, WebGL or screen recording.
It looks recorded, but it's HTML. Each frame is computed, so it stays sharp at any size and pixel density, its words are real text, and it can loop, jump to a step, scrub, freeze for a screenshot and stand still for reduced motion, all from the same code.
**Boundary.** Use `browser-video-recording` when you need a real recording of a real browser as an MP4. Use `website-to-motion-design` when a page becomes a fixed-length film. Use this skill when the deliverable is a live window on a web page that shows an app working.
**Provenance.** Extracted from fil.design/download (October 2026). There, Fil for Mac's hero window runs four workflows end to end. Eight chapter windows each show one feature step by step: import a URL → Design → the agent; prompt → inpaint → outpaint → layers → angle; record → motion design → edit → transcript; sites; the browser. One lead built the engine and the hero, and one helper agent built each chapter window from a shared brief.
## The mechanism
**Every frame of the app is a pure function of one number.** A step's `View({ t })` draws everything inside the window at a fixed 1200 × 750 design size from `t` alone, where `t` is seconds into the step. One CSS scale (`--k = width / 1200`) then fits that stage to the window.