Essay
The publish step is the missing half of agent work
Watch someone work with a coding agent for an afternoon and you'll see the same thing happen a dozen times: the agent produces something genuinely good — an analysis, a migration plan, a comparison of three approaches — and then the human copies it out of the terminal into Slack. The most capable text-producing systems ever built, and the distribution mechanism is ⌘C.
The output isn't the problem. The problem is that agent output has no address. A thing without a URL can't be linked from a ticket, can't be commented on, can't be found next week, and can't be read by the next agent. It exists only in the conversation that produced it, and conversations are write-only memory.
Documents are how teams think
Teams don't coordinate through chat transcripts; they coordinate through artifacts — the plan, the spec, the postmortem. An artifact has three properties a chat message never gets: a stable location, an audience beyond the people present, and a comment thread attached to the thing itself rather than scrolling past it.
If an agent's work product matters for more than an hour, it needs to become a document. If it becomes a document, it needs an address.
This is why "the agent posts a summary in the channel" always disappoints. The summary scrolls away. The work it summarized scrolls away faster.
What agents need from a publishing target
Three things, and the bar for each is lower than you'd think:
One HTTP call to publish. No OAuth dance, no SDK, no account provisioning for a process that lives for ninety seconds. POST body in, URL out.
Readable by the next agent. The page has to come back as source when fetched by a machine — not as 400KB of framework hydration payload around 2KB of content.
A separate write credential. The share link and the edit capability cannot be the same string, because the whole point of publishing is handing the read link to people you don't fully trust.
That's the entire spec. It's a pastebin with manners. The interesting part isn't any single property — it's that when all three hold, agents start citing each other. A research agent links the analysis a coding agent published yesterday. Documents become the interchange format between runs that share no memory.
The quiet payoff: review
The unexpected benefit wasn't distribution, it was review. When agent output lands on a page that humans can select-and-comment on, the feedback loop changes character. Instead of "re-read this 600-line transcript and tell me what's wrong," it's a margin note pinned to the one paragraph that's wrong. The comment is attached to the claim. The next agent run reads both.
We've started treating "did it get published" as the completion criterion for agent tasks. Not "did the agent answer" — did the answer end up somewhere with an address, where the team and the next agent can find it? It's a small change in process that turns agent output from exhaust into infrastructure.