
Design the interface before you code it
The browser becomes the design surface. Ask the agent to move a section, change the hierarchy, try another visual direction, or wire the critical interaction. You see each revision immediately, while changing course still means editing one HTML file. For a bounded screen or flow, one HTML file can take the place of separate sketch, static mockup, and clickable-demo passes. Reviewers work against the actual hierarchy and behavior in the browser instead of waiting for the idea to be rebuilt in another tool. Move into a dedicated design tool when the work needs its component libraries, vector editing, multiplayer workflows, or formal design handoff. Judge efficiency across the whole loop. HTML may use more tokens than a Markdown plan. It can still save tokens overall if the visible artifact prevents an implementation pass on the wrong structure or behavior. Stop when the artifact answers the current question. Many tasks need only a wireframe or a focused prototype. Anthropic engineer Thariq Shihipar describes this working style in The unreasonable effectiveness of HTML. He uses HTML to compare options, expand ideas into mockups, and then write an implementation plan. The format is valuable because it keeps the human engaged with the choices instead of handing those choices to the agent. Geoffrey Litt argues that understanding is now the bottleneck when agents can produce code faster than people can follow it. He uses explainers, interactive figures, and shared Notion pages to help people build intuition and participate in the next decision. An HTML wireframe or prototype serves the same purpose before implementation: it gives a person, a team, and an agent one visible object to question together.How do an HTML wireframe, mockup, and prototype differ?
Use only the stages that answer an open question. A team may stop at a wireframe because the structure is settled. It may jump from a sketch to a prototype when behavior is the main uncertainty.
Start with one product brief
The brief is the first alignment boundary. Keep the same brief through all three stages. Changing the problem while increasing fidelity makes it hard to tell whether feedback concerns the product or the presentation. This guide uses a fictional release-readiness page for Atlas Mobile 4.8:- A release manager must decide whether one release candidate can go to production.
- The page must show the commit, owner, four required checks, supporting evidence, open risks, reviewer notes, and current decision.
- The page starts blocked because the iOS smoke test failed.
- A passing rerun changes the release from blocked to ready and enables the release action.
- The prototype must not start a real deployment, authenticate a user, or load live build data.
Keep the artifact structure visible
Store the brief, state model, HTML, and review notes together:wireframe, mockup, and prototype modes. Separate files also work, but shared content can drift unless the agent updates each copy deliberately.
The supporting files have distinct jobs:
brief.mdfixes the user, task, required information, behavior, and non-goals.release-readiness.htmlcontains the visible artifact and the prototype logic.states.mdnames each state, its trigger, visible result, and available action.review-notes.mdseparates accepted decisions from open questions.
Stage 1: make the HTML wireframe
Use real headings, labels, controls, and representative content. Low fidelity does not mean unlabeled gray boxes. Reviewers need enough detail to judge whether the screen supports the task. The release wireframe includes:- a header with the release candidate, commit, and owner;
- a summary of checks passed, open risks, and release state;
- four named checks with evidence;
- a reviewer-notes area;
- a blocked decision and its next action.

- Does the page answer “Can this build go to production?” without another screen?
- Are machine results and reviewer notes visibly separate?
- Is the failed check specific enough to investigate?
- Is the next action clear while release remains blocked?
- What information could be removed without weakening the decision?
Stage 2: turn it into an HTML mockup
Freeze the structure before styling it. The mockup should preserve the same information, order, and states unless the visual pass exposes a structural problem. For the release example, the mockup adds:- Plannotator-adjacent violet, blue, and orange accents;
- a stronger visual distinction between evidence, notes, and the decision;
- readable spacing and type hierarchy;
- a compact desktop summary that becomes a single column on narrow screens;
- visible pass, fail, blocked, and ready colors with text labels.
Stage 3: make the interactive HTML prototype
Add only the behavior needed to answer the unresolved interaction question. For Atlas Mobile, that question is: what changes after a reviewer records a passing smoke-test rerun? The prototype implements one flow:- The page starts with 3 of 4 checks passed and the release blocked.
- The reviewer records a passing iOS smoke test.
- The failed check changes to pass.
- The summary changes to 4 of 4.
- The decision announces that the release is ready.
- The production-release action becomes available.

Why does HTML make this loop faster?
HTML combines the plan and the visible result in one inspectable file. A static picture can show appearance. A prose plan can describe behavior. HTML can show both, then let a reviewer test the transition that connects them. That shortens the distance between an idea, evidence, and a revision:- Inspectable: Browser developer tools expose the DOM, CSS, dimensions, roles, names, and focus behavior. Chrome documents how its Inspect mode reveals element and accessibility properties.
- Editable: Reviewers or agents can change the source with ordinary text tools and track those changes in Git.
- Responsive: One artifact can use flexible layout and media queries instead of maintaining separate desktop and mobile pictures. MDN explains the relevant responsive-design techniques.
- Runnable: A browser can exercise controls, state changes, validation, and focus order without building the production application.
- Reviewable: A team can annotate the rendered page, inspect the source diff, and hand exact feedback back to a person or coding agent.
How should a person or coding agent review the artifact?
Name the stage before giving feedback. “The page feels wrong” does not tell the agent which decisions may change. Use these targets:
A useful comment names the location, observed problem, requested change, and acceptance check:
Prototype, blocked-to-ready transition: the summary stays at 3 / 4 after the smoke test passes. Update it to 4 / 4, announce the ready state, and keep the release action disabled until both changes occur.Another coding agent can review the same targets. Ask it to compare the artifact with
brief.md and states.md, report contradictions, and test the named flow. Do not ask it whether the interface is “good.” Give it the same bounded questions a human reviewer receives.
End the review with explicit decisions:
- Structure accepted: required content, grouping, task order, and primary action are settled.
- Visual direction accepted: hierarchy, responsive behavior, and state treatment are settled.
- Tested behavior accepted: the named trigger, transition, feedback, and recovery path are settled.
- Production questions recorded: data, permissions, failures, performance, and implementation details remain visible rather than being guessed.
Where does Effective HTML fit?
Effective HTML is the companion skill repository for producing self-contained HTML artifacts. Its currenthtml skill covers explainers, comparisons, decks, and prototypes, and its bundled examples include prototype animation and interaction.
Effective HTML now includes the dedicated html-wireframe skill for low-fidelity structure and the html-prototype skill for styled mockups and working interaction. Together they package this progression directly, from restrained structural choices to focused interaction tests.
Use Effective HTML to give an agent a stronger visual starting point and a repeatable way to create the artifact. Pair it with the brief, state model, review questions, and acceptance checks so each revision answers an explicit product question.
Choose the next tool by the unresolved question
Keep working in HTML while reviewers are deciding structure, visual direction, or a bounded interaction. Switch when the next question depends on a capability the artifact does not have.- Move to Figma or another shared design tool when the work depends on its component libraries, vector editing, multiplayer design workflows, or formal handoff.
- Move to production code when the question depends on real data, framework components, permissions, performance, or integrations.
- Record the accepted decision in Markdown when it needs to remain readable and editable without the browser artifact.
- Start with paper or a whiteboard when drawing the first structure is faster than asking an agent to build it.



