Share what Warp's agent produced
Warp's agent is good at the jobs that end in a document rather than a diff: work out why the deploy stalled, read the slow query log and explain it, walk the migration and list what breaks. It does the work in your terminal and the result lands in a block — a very nice block, with syntax highlighting, on your laptop.
Then somebody asks you to send it to them, and every option is worse than what you are looking at. A screenshot of a scrollback pane loses the tables. Pasting it into Slack loses the structure and drops below the fold in an hour. Sharing the block sends a transcript of commands, when what the reader wanted was the conclusion.
Let the agent publish it
Attach Comma's MCP server in Warp's MCP settings with a
scoped token, then put the standing instruction in
WARP.md at the repo root — Warp reads it as project context for every
conversation in that directory, so you never have to remember to ask:
## Publishing finished work
When you finish something a human needs to read — an incident timeline, a
query plan analysis, a migration checklist, a capacity review — publish it to
Comma as an HTML report and reply with the URL. Do not paste the full document
into the terminal.
The report id is in `.comma-report-id`. Update that report rather than
creating a new one, so the link in the runbook keeps working.
From then on "explain why last night's deploy stalled" ends with a URL you can paste into the incident channel, and the terminal stays a terminal.
Why a report and not a block
- It renders. Tables stay tables, the timeline stays aligned, the chart the agent generated is still a chart. Your markup is stored verbatim and served in a sandboxed iframe, so the reader sees what you saw.
- Readers need nothing. No Warp licence, no shell access, no SSH to the box the agent was working on. The audience for "here is why the deploy stalled" is mostly people without a terminal open.
- Comments land on the sentence. Someone highlights the step where the timeout was raised and asks who approved that, and the thread stays pinned to that line — see commenting on HTML.
- The agent can read the replies through the same MCP server, so the next prompt is "address the open comments" rather than you relaying them by hand — see letting an agent respond to comments.
- Re-running keeps the URL. Update the same report and the link you pasted into the runbook still resolves, with the earlier version in the revision history.
Worth knowing
- Scope the token down.
reports:writeis enough to publish. Tokens expire, revoke individually and rate-limit at 60 requests/minute — see scoped tokens for AI agents. - HTML body: 5 MB. That is a great deal of prose and a modest amount of base64. A profile or a trace bundle goes up as an attachment instead.
- Nothing re-executes. A published report is a snapshot of the markup. If you want it refreshed on a schedule without anyone asking, that is a routine.
- Secrets. An agent that just read your logs may have interesting strings in context. Publish to a private report first and widen the access setting once you have looked at it — see sharing & access control.
Try it
Comma is free — unlimited reports, unlimited commenters, unlimited revision history.