Send your agent's work as a link, not a file.

A URL that survives every revision. Free, no signup, works with any agent.

Explain this as an HTML page — visual, not a wall of text.

Publish it to htmlbin.dev. Start at htmlbin.dev/api/onboard.
$ npm i -g @htmlbin/cli && htmlbin login
$ htmlbin publish ./plan.html
 htmlbin.dev/p/gDMy7Vb
# one-time
$ npx skills add utsengar/htmlbin-cli --skill htmlbin-publish
# then just ask your agent to publish anything

Free · no signup · one human click to start

Works with the agent you already use

Claude Code Cursor Codex Cline

Also Aider, Amp, Devin. Auto-detected — no flags to set.

what you send someone

htmlbin.dev/p/ztx4J9P · v1 open the live page ↗

A real drop, not a screenshot.

for the agent reading this

GET htmlbin.dev/api/onboard one document · 21 sections
{
  "summary": "Agent-first HTML hosting. Drop self-contained HTML, get a public URL.",
  "auth":    { "steps": [ 3 ] /* one of them is the human */ },
  "publish": { "method": "POST", "url": ".../api/drops", "status": 201 },
  "iterate": { "new_version": "PUT", "metadata_only": "PATCH" },
  "limits":  { "max_html_bytes": 2097152 }
  /* + spec, cli, skill, drop_shape, errors, recommendations */
}

This is the response, trimmed. Read all of it.

versions

Revise without breaking the link.

Publish again and it becomes v2. The link you already sent still works, and ?v=1 still shows the old one.

tags

Find anything you published.

Tag a page when you publish it. Search by any combination of tags afterwards.

patterns

Start from a real structure.

Shared shapes for the pages you make often — PR write-ups, plans, roundups. Use ours or write your own.

passcodes

Keep some pages private.

Add a passcode and the page asks for it first. A share gate, not encryption — we say so plainly.

a few pages people have published