HTML Prototype Build

SkillWeb & browsing

Build, annotate, review, screenshot, and deliver native HTML UI prototypes with AI agents using reusable UI packs, DOM-bound product annotations, in-browser Direct Edit, browser review pins, a local authoring server, an element-to-source Inspector, and multi-state screenshots. Use when the user mentions /html-prototype-build or asks to reconstruct UI in HTML, create product annotations, edit prototype styles, review or mark DOM elements, capture prototype states, or package prototype deliverables. Works with Claude Code, Codex, Cursor, and other Agent Skills clients; do not use for generic source-code navigation, ordinary documentation, or production frontend development.

Available today. Use it from your connected AI after setup.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the HTML Prototype Build skill

What this skill tells your AI

The instructions your AI receives, as published by lisuiwen/ai-html-annotation in skills/html-prototype-build/SKILL.md and read by ahel’s review.

Quick start

  1. Confirm the prototype type and business facts from the user's materials; ask first when information is insufficient, do not guess.
  2. When generating or heavily changing UI, run node <skill-root>/scripts/resolve-pack.mjs --list, then node <skill-root>/scripts/resolve-pack.mjs --pack=<pack-id> --select=<preset, pattern, or component id> and read only the minimal file closure it outputs.
  3. Generate the complete <prototype-name>/ delivery directory per shared generation contract §7; route all business state through PrototypeViewers, and use the Runtime copy as-is for the formal Client Runtime.
  4. When done, run npm test at the repository root; start the authoring server or scenario screenshots only when the task needs them.

Route the task first

Read only the entry that matches the current task; do not read all references at once:

User goalRequired entryMain output or tool
Generate, rebuild, or heavily change UIUI generationHTML prototype and on-demand UI components
Install or download missing UI packsPack installscripts/install-pack.mjs
Understand Viewer, note cards, SVG connectors, or interaction lightningProduct annotationssnapshot + Client Runtime
Start the authoring environment, direct edit, edit notes, or jump to sourceLocal authoringruntime/server/index.mjs + Author Tools
Add review pins to a page, export For AIReview markruntime/author/tools/mark/
Batch screenshots by page stateScenario screenshotsruntime/cli/screenshot.mjs
Prepare final filesDelivery & iterationFinal delivery files
Final check before deliveryDelivery checklistPer-item checkboxes

When generating or heavily changing UI, read the shared generation contract first; for other tasks read the matching entry above without reading the full contract.

For visual tasks, discover packs, pick a foundation and providers via the UI pack catalog, resolve the minimal closure, and follow the consumer pack rules. When no pack is installed, follow Pack install.

scripts/ holds the agent's deterministic tools. runtime/ is split by execution boundary: client/ formal browser runtime, author/ browser authoring tools, server/ local Node authoring service, cli/ standalone command-line tools.

Terminology

  • ponytail: — in-place comment marking an intentional prototype shortcut or uncollected state; replace it after you have real screenshots, computed styles, or interaction evidence.
  • Project materials — screenshots, requirements, and confirmed facts for the current task (not generic framework defaults).

Core boundaries

  • Every prototype must use the distributed copies of runtime/client/core/display-mode.js, runtime/client/core/state.js, runtime/client/notes/model.js, runtime/client/notes/viewer.js in order; state.js provides the single PrototypeViewers state source, model.js handles only note scenario metadata and pure when matching, and Notes Viewer handles only DOM/connector rendering. Do not fold these responsibilities back into the Viewer.
  • Formal notes are written back to prototype/notes.snapshot.js only through runtime/server/index.mjs + Notes editor; do not inline a notes editor in prototype.html and do not store formal notes in localStorage.
  • Mark is a temporary review tool in the Author Tools panel alongside Direct edit; its data goes to page-path-scoped localStorage, is never written to the snapshot, and is not injected into the source HTML.
  • Direct edit previews in the authoring session only and writes back to the source HTML safely through the server.
  • The authoring service only handles local editing and in-prototype source lookup; it never enters the source HTML or the final deliverable.
  • Screenshots consume only the URL scene and formal annotation data; they do not generate business state.
  • System names, menus, fields, states, and business data must come from the user's materials; ask when information is unclear, never guess.

Signals

GitHub stars
21
Forks
2
Last commit
Sep 2026

ahel review

  • K6info
    bundled executables the agent is told to run

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Item type
skill
Key
html-prototype-build
Source
github.com/lisuiwen/ai-html-annotation