Six scenes following a single real artifact — a Q1 customer review — from an agent's first publish through team feedback to a revised v2 and the workspace it lives in. This is the product as the user experiences it, screen by screen.
No deploy, no bucket, no permissions ticket. The agent finishes the report, calls one tool, and hands back a URL that's already gated to the company. The skill knows to suggest publishing whenever it produces a reviewable artifact.
Jess clicks the link in Slack, signs in with company SSO once, and lands on the live page. The artifact renders exactly as built — interactive chart and all — with the comment rail and version strip framing it as a thing under review, not a static file.
Highlight text or click an element, type, done. The anchor (a W3C TextQuoteSelector under the hood) records exactly what was selected and on which version — so feedback survives republishing, and the agent later knows precisely what "this" refers to.
base_version). No "which paragraph did you mean?"Next session — or triggered by a webhook — the agent pulls open threads as structured data, edits the source file, and republishes against the same short_id, resolving both threads in the same call. Nobody copy-pasted feedback into a prompt.
A month in, the workspace is the team's living shelf — searchable, filtered by author or agent, with an activity feed that makes review work visible. This is the surface that turns one-off shares into an institution.
The share popover is the whole governance model in one card. Defaults protect (org-gated, noindex); going broader is an explicit act with the consequences spelled out. Self-hosted instances show the identical card — backed by their IdP instead of ours.
Every scene is one person doing one natural thing — no step required learning a tool. The agent published where it already works, the reviewer commented like it's a doc, the revision shipped without a meeting. That's the whole bet: make the artifact's life cycle as frictionless as the chat that created it.