Product spec · v0.2

protocontent.com

A live, shareable view of everything your coding agent makes — one link per artifact, one live page per session, across any agent.

Persona · anyone working with a coding agent Shape · MCP tool + content host Not · publish-HTML, single-vendor, permanent
It isn't "publish HTML." It's the place an agent's work shows up — so you can see it from your phone, while it's still being made.

The shift

From a local file you can't open → a live link you can

Today

file:///Users/you/repo/.worktrees/plan.html
file:///Users/you/repo/proto/index.html

Stuck on one machine. Invisible from a cloud agent. Won't open on your phone. Awkward in git — you don't want to commit a throwaway.

protocontent

shown in chat as “plan”
shown in chat as “prototype”

A real link, hidden behind a readable title. Opens anywhere, sandboxed, expires on its own, and rolls into one live session page.

User stories

What the user actually wants

U1
A link, not a local path just works

As someone working with a coding agent, when it generates an HTML artifact and its related files, I want them published to a link automatically instead of a local file pathso I can open them from my phone or send them to a teammate without hosting anything myself.

U2
It shows up as a link, however I'm working surface-aware

As a user, when the agent hands me the link, I want it to show up as a clickable link in whatever I'm using — a readable title (“plan”, “prototype”) in a chat UI, or a clean tappable URL ending in …/plan in a terminal — so I just click it, and never copy a file path.

U3
One page, linked in the summary in the wrap-up

As a user, when the agent finishes and gives me its summary, I want it to include a link to my protocontent session page — the one page that lists everything it made — so I land in a single place to review the whole run.

U4
A live feeling ★ the point

As a user watching my agent work, when it creates or updates a file, I want the session page to update on its own — a new version, a new file appearing — so I get a live view of what my agent is producing, even from another screen.

U5
Outside version control important

As a user, because these are prototypes and plans, I want them to live entirely outside my repo — never staged, never committed — and expire on their own — so my git history stays clean and nothing ephemeral ever leaks into source control.

U6
Walled off from my stuff just works

As a user, I want published artifacts isolated on a separate origin — so a generated page can never reach my session, cookies, or files.

U7
Any agent, same experience just works

As someone who uses more than one coding agent, I want this to work the same from all of them — so I'm not locked into one vendor's artifact panel.

U8
Trivial to add to any agent important

As a user, I want to turn protocontent on in any coding agent I use — as easily as copying one command, or just telling the agent to set it up — so it takes seconds, works wherever I work, and there's nothing to configure.

The product, in two surfaces

An artifact link, and a live session page

Surface A

The artifact link

Each file the agent makes gets its own sandboxed URL on a random subdomain, surfaced as a clickable link — a title where the surface renders it, a clean …/name URL where it doesn't. Re-publishing the same name updates it in place.

…I’ve put the plan here → plan ↗
and a working prototype → prototype ↗
Surface B

The live session page

Every session gets one subdomain that lists everything the agent produces, and updates the moment it adds or changes a file — a live window into the work.

amber-canyon-7f3.protocontent.app
live · agent working
📄plannewjust now
🧪prototype12s ago
🖼️schema diagram1m ago
📝notes3m ago

Naming & URL convention

Always a link — readable, even raw

The address is a random subdomain — the unguessable part is what grants access — with the artifact's readable name in the path. In a chat UI the agent shows it as a titled link (“plan ↗”); in a terminal it falls back to the bare URL, which still reads …/plan. Either way it's one click, and you never type or copy a file path.

# per artifact — random subdomain, readable name https://amber-canyon-7f3.protocontent.app/plan ↑ shown in chat simply as “plan ↗” # per session — one page that lists them all, live https://amber-canyon-7f3.protocontent.app/

protocontent = proto (prototype) + content — the *.usercontent.com pattern every platform has, but for the ephemeral stuff agents make.

Principles & non-goals

What it is, and what it refuses to be

Live — reflects work as it happens, not a static deploy.
Not a permanent host — ephemeral by default; claim to keep.
Cross-agent — same from Claude Code, Cursor, Codex, anything MCP.
Not a single-vendor panel — the part no vendor will build.
Sandboxed — separate origin; can't touch your session or repo.
Not git, not a CMS — these are throwaway artifacts, not source.
Zero-friction to view — a tappable link, no account for the viewer.
Not “publish HTML” — that framing is prior art; this is the live view.
Trivial to install — in any agent; copy a command or just ask the agent to set it up.
No config — no buckets, domains, or API keys to wire up first.
In one sentence: instead of your agent's artifacts landing as local files you can't open, each gets a link shown by its title, and every session gets one live page you can watch from anywhere.