← Blog
Agents

How to share an HTML prototype your coding agent built

Claude Code and Codex mock up ideas as single-file HTML. The fastest way to get team feedback is a link that renders the file safely, next to the issue it belongs to. The options, their trade-offs, and the one-command version.

Radial6 min read

The best way to share an HTML prototype that Claude Code or Codex built is a link that renders it, sits next to the issue it belongs to, and keeps feedback on the file. Dropping the .html in Slack makes every reviewer download and open untrusted code locally; deploying it to Vercel or Netlify works but costs a repo, a pipeline and a public URL for a throwaway file. In Radial, one command does it: radial attach RAD-42 prototype.html uploads the file to the issue and prints a workspace-only Preview URL, rendered in a sandbox, with comments on the file and the decision recorded on the issue the agent reads next.

#Why agents make HTML prototypes at all

Ask an agent to explore a UI change and it can either write the real component (in your framework, against your data, with your tests) or write one self-contained HTML file that shows every screen and state with fake data. The second is minutes, throwaway by design, and answers the question that matters before any real code: is this the right screen?

The hard part is not making it. It is getting three people to look at it and say something useful before the agent moves on.

#The options, honestly

HowWhat reviewers doTrade-off
Send the file in chatDownload, double-click, open locallyUntrusted code on every laptop; feedback scattered in a thread
Screenshot itLook at a pictureNothing is clickable; states and flows are lost
Deploy to Vercel, Netlify or GitHub PagesClick a URLNeeds a repo and a pipeline; the URL is public unless you add auth; feedback lives elsewhere
Attach to the issue in RadialClick a Preview URLWorkspace members only; feedback lands on the issue

Deploying is the right call for the thing you ship. A prototype is a question, not a release.

#The one-command version

bash
npm i -g radial.build && radial auth
radial attach RAD-42 billing-v2.html
# ✓ Attached billing-v2.html to RAD-42
#   Preview: https://app.radial.build/p/acme/RAD-42/f3a9c1

An agent can do the same without a terminal: the MCP server exposes attach_file, and the REST API has the same endpoint, so the agent attaches mid-plan and posts the link without a person touching a browser. radial attachments RAD-42 lists every file on the issue with its Preview URL.

If you use the rd-* agent skills, rd-prototype builds the file from a plan or an issue, copies your repo's visual language, opens it locally, and attaches it for you.

#What the reviewer sees

The Preview URL opens inside Radial, not as a bare file:

  • Every prototype on the issue in one menu, so v1, v2 and the alternate layout are one click apart.
  • Comments scoped to the file, so "the empty state is wrong" is attached to the version it is about.
  • The decision on the issue timeline, where the agent reads it before it builds the real thing.

Access is workspace membership. There is no public link to leak and no hosting account to manage.

#Why it is safe to click

A prototype is code someone, or some agent, uploaded. Radial treats it as hostile. Each file is served under a content-security sandbox on an opaque origin: it cannot read your cookies, reach your Radial session, touch the page around it, or navigate your tab elsewhere. That holds even if you open the raw file URL directly. HTML and raster images render; other file types download. This is safer than the default most teams use today, which is opening the file locally with no isolation at all. More on the Previews page.

#Where prototypes should live

Next to the issue. A prototype in a chat thread is gone in a week; a prototype in a deploy nobody remembers is gone in a month. On the issue, it sits with the plan, the comments, the agent's session and the build record, and anyone who opens the issue later sees what was proposed and what was decided. That is also why the tracker should be in the cloud: the agent on your machine attaches, and the designer on theirs comments, on the same issue.

For how prototypes fit into a full plan, build and verify loop, see what a software factory is and how to build one.

#FAQ

#What is the best way to share an HTML prototype Claude Code made?

Upload it somewhere that renders it safely for your team, next to the work it belongs to. In Radial that is radial attach <ISSUE> prototype.html, which prints a workspace-only Preview URL with comments on the file. Sending the raw file means every reviewer opens untrusted code locally.

#How do I host an AI-generated prototype for stakeholder feedback?

If stakeholders are in your Radial workspace, attach the file to the issue and send the Preview URL. If they are outside it, a static host such as Vercel, Netlify or GitHub Pages works, but the URL is public unless you add authentication, and the feedback will not land on the issue.

#Can my coding agent attach the prototype itself?

Yes. The agent can run radial attach from a terminal, call the attach_file MCP tool, or use the REST API. The rd-prototype skill builds and attaches the file in one step.

#Is it safe to open an HTML file an agent generated?

Opening it locally runs it with no isolation. Radial renders every attached HTML file in a sandbox on an opaque origin, with no access to your cookies, session or data, so reviewers can click through without thinking about it.

#Can reviewers comment on a specific prototype?

Yes. Comments in the Preview are scoped to the file, and every HTML file on the issue is in the Preview menu, so feedback on v1 and v2 stays separate.

#Who can see a Radial Preview URL?

Members of your workspace. The URL is not public.

RadialAn issue tracker. That’s it.

The team behind Radial, the fast, CLI-first issue tracker that lets your own agents work for free. We write about plain software, speed as respect, and bringing your own agent.

Track issues like it’s 2019. Ship like it’s 2026.

An issue tracker. That’s it. Your agents ride free.

Keep reading