By · Founder, Stacktree · Last updated
workflow

Have your agent publish its own run report as a link.

The run ends. Instead of a wall of terminal text, the agent renders an HTML report of what it did and publishes it to a private URL it hands back to you. One bookmark becomes the standing status of everything it does while you are elsewhere.

Get started free

No card · 3 pages free · about a minute

How do you get an agent to report its own runs?

Tell the agent to end every run by rendering an HTML report and publishing it. Over MCP it calls publish_html and returns a private link you can open anywhere, phone included. Point later runs at the same page with update_site and you get one standing status URL, always current.

The artifact is the audit

As agents run longer without supervision, the thing you actually check is not the transcript, it is whatever the agent can show you. A rendered run report, what was asked, what was done, what changed, what needs a human decision, is auditable in ninety seconds. The transcript it summarizes is not. That makes the publish step part of the run, not an afterthought: the report is how the run gets accepted.

Here is a live example: an incident postmortem, the run-report shape exactly, published as a private Stacktree page. More finished shapes are in the examples gallery.

Typical flow

  1. Once: set the agent up with npx stacktree-install, or paste the one-line prompt below into it.
  2. In the task instruction, add the closing step: "when you finish, render an HTML report of what you did and publish it as a private link."
  3. The agent works, renders the report, and calls publish_html. The pre-flight scan keeps keys and other secrets from going out with it.
  4. It ends the run by handing you the URL. You open it on whatever device you are on; nobody needs an account.
  5. Later runs either call update_site on the same page (one standing status URL) or publish fresh pages with an expiry (an audit trail that cleans itself up).

One standing page, or one page per run

Both patterns are in real use, and they solve different problems.

  • One standing page. The agent keeps one site id and replaces the content every run. You bookmark a single URL; it is always the latest state. Replaces are free and do not spend page slots, so a nightly run costs one page, not 365.
  • One page per run. Each run publishes its own report with a 7 or 30 day expiry. You get a browsable trail of what the agent did on which day, and old runs remove themselves.

If the agent works for clients, file each report under the client with client: "Acme" and it lands behind that client's space, alongside everything else delivered to them.

Teach it once, keep it

If your agent supports skills, the publish behavior installs as one:

npx skills@latest add stevysmith/stacktree-skill

The skill carries the instructions and the publish script, so any run can end with a link without re-explaining the steps. The skills page covers what it includes.

Run it now

1. Paste one line into your agent

Fetch and follow https://stacktr.ee/prompt.md, then publish a run report of what you just did as a private link.

Works in any agent that can fetch a URL. The instructions are plain Markdown you can read first.

2. Install once

npx stacktree-install

Configures Claude Code, Cursor, Codex CLI, OpenCode, or Amp. On Claude.ai, add the connector URL https://api.stacktr.ee/mcp; one-click setup.

3. No signup: curl the report

curl -X POST https://api.stacktr.ee/sites -F file=@run-report.html

Publishes anonymously: a private URL that lives 24 hours, no account and no key. Enough for tonight's run; claim the page if the habit sticks.

FAQ

Frequent questions

Why a published report instead of reading the transcript? +
Because a 400-message transcript is not something you audit from a phone. A rendered report is: what was asked, what was done, what changed, what needs a decision. The link opens anywhere, and if the agent runs while you are away, the report waiting at a known URL is the difference between checking in and scrolling back.
Can the agent do this with no account at all? +
Yes. The anonymous path needs no key: the report publishes to a private URL that lives 24 hours, and the response carries a claim token to adopt it later. What the anonymous path cannot do is update in place, so a standing status page needs an account and an API key the agent uses.
What stops the agent publishing a page with secrets in it? +
A pre-flight scan checks the file for API key prefixes, JWTs, card numbers, and emails before it goes live, and on the MCP publish path it blocks by default rather than warns. A regex net is not a guarantee, so the honest advice stands: run reports should quote results, not raw configs.
Does whoever opens the report need an account? +
No, never. The unguessable URL opens in any browser. Add a passcode or an email-domain gate if the run touched client data, and the viewer still never signs up for anything.
Keep reading

Related guides

References

Sources and further reading

End tonight's run with a link.

One paste sets the agent up. The first report publishes with no account and lives 24 hours.

Sign up free →