Asking an AI agent for HTML instead of Markdown changes what comes back — and what you can do with it. This page is a self-contained example.
Thariq Shihipar, on the Claude Code team at Anthropic, recently described this technique in detail: prefer HTML over Markdown when asking an agent for a spec, a plan, an explainer, a code review. The original piece walks through use cases and rationale. This page is a working version of the same idea — a short walkthrough plus five live demonstrations, in one HTML file.
Markdown carries documents well — lists, headings, code blocks, the occasional table. The output of a modern coding agent isn't always a document. Some of it is information that doesn't compress into prose without losing what makes it useful.
A small example. Asking Claude Code to show the brand palette in a Markdown reply produces this:
The ████ blocks are dark grey unicode characters. They convey no color information. The model knows this; the format leaves it nothing better.
The same task in HTML:
Identical data. The transfer happens.
Below is the same concept, twice. The information content is identical; what you walk away with is not.
An ease-out-back easing function describes motion that decelerates as it approaches its target, then briefly overshoots before settling back into place. It is parameterised by two control points in cubic Bézier form, conventionally cubic-bezier(0.34, 1.56, 0.64, 1). The first control point at (0.34, 1.56) places a handle above the y=1 line, which is what produces the overshoot; values of y greater than 1 cause the eased value to exceed its terminal value temporarily before returning. The second handle at (0.64, 1) pulls the curve back down to terminate cleanly.
Read carefully. You technically have all the information. Now switch tabs.
It's this. Press play, watch the ball, then drag the handles to feel how the parameters work.
The dashed line marks y=1. The curve crossing above it is the same thing as the overshoot you just felt.
The prose carries the definition. The interactive version carries the behavior. For visual or kinetic concepts, the second is closer to the actual thing — and it costs the model the same effort to produce.
A short gallery of capabilities — each one live, each one a thing Markdown can only point at:
Tap a header to sort.
| Model ⇕ | Context ⇕ | $/M tok ⇕ |
|---|
Tap nodes to trace a path.
Not described. Shown.
Pick a color you can actually see.
#4A827A
The most useful pattern isn't HTML as a richer document. It's HTML as a throwaway interface — a one-off UI built for the exact decision you're making, ending in a button that hands your work back to the agent as text.
You stay in the loop. The loop gets tighter. A small example: rank these claims about AI agents in your preferred order, then export the result as something you'd paste into your next prompt.
Ranking five things by typing them into a chat is annoying enough that most people skip it. A purpose-built UI used once and exported back to text removes the friction. The same pattern applies to triaging tickets, tuning prompts, picking colors, marking up a transcript — anything where the input is hard to express in a sentence.
HTML isn't a universal upgrade. It's worse for: things consumed by other agents (use JSON or Markdown — structure, not presentation); things you need to grep, diff, or version-control (HTML diffs are noisy); pure linear argument where prose flow is the point; and anything where the audience is already pre-sold and just needs the answer.
The technique is about output — the last mile, where information becomes understanding for a human. Don't HTML-ify your pipeline.
Format and engagement are coupled. Long Markdown drifts past you; you skim, you sign off, you move on. HTML asks to be looked at. When the work an agent is doing is consequential enough that you actually need to understand it, the medium is part of the loop, not separate from it.
That's the whole thing. Try it on the next plan or spec or review you ask an agent for: "render this as a single self-contained HTML file." See what comes back.