--- name: brief-to-html description: Render a justified screen brief (screens-brief.md) into an interactive HTML prototype — a fixed engine (mockups.html) plus a content file (mockups.data.js) — so the screen set can be eye-reviewed at real fidelity (clickable tabs, per-screen state switcher, light/dark) before any FE code. The LOOK comes from the brief's intent (purpose, must-show, actions, states, copy, nav & headings) skinned by a REQUIRED design system — never from ASCII art, which anchors the model to an ugly literal layout. The ASCII map (mockups.md), if present, is only a coverage cross-check. Use after /usecase-factory:grill-to-brief lands the screen brief and the user wants to "render the brief to HTML", "make the screens interactive", "turn the brief into a clickable prototype", or "preview the screens with the real design system". Triggers on "brief to html", "render the brief", "interactive prototype", "clickable mockup". disable-model-invocation: true --- # Brief to HTML Render of the Phase-1 screen set. `/usecase-factory:grill-to-brief` produces the justified SPEC (`screens-brief.md`); this turns it into an interactive prototype for eye-review. Still a wireframe, NOT FE code: static markup, no real data, lives in `doc/`. **Why the brief drives the look, not the ASCII.** An ASCII mockup is a precise *low-fidelity* artifact: monospace grid, box-drawing, hard borders. Hand it to a generative renderer and the model faithfully reproduces that ugliness — cramped, boxy, no hierarchy. The screen brief is *intent* (what each screen is for, what it must show, what states it has, what the copy is, what the nav shape is). Intent + a real **design system** lets the model apply good visual design instead of copying a crude grid. So: render from the brief, skin with the design system, and use the ASCII only to check that nothing was dropped. ## Two-file output (engine ↔ content split) | File | Role | Per use-case | |---|---|---| | `mockups.html` | **Engine + style** — app shell, tab/state switch, light/dark, all CSS primitives. Copied verbatim from the template; the ONLY edit is the design-token block. | builds the DOM from `window.WIREFRAME` | | `mockups.data.js` | **Content** — `window.WIREFRAME = {meta, tabs, screens}`. One text file holding every screen as an HTML string. | this is what you author each time | > **The two files are ONE inseparable pair.** `mockups.html` loads the data via `