Ship it to a human. Get structured feedback back.
Terrarium is the review layer you can call. Publish HTML, and a human reviews it in the browser — comments pinned to the exact words, approve or request changes. You pull that verdict over MCP as a typed payload, fix, and push a new version. Loop until approved.
$ npx skills add nelsonsantryhkd/terrarium-pluginInstalls the MCP server + the skill that teaches the loop. Then mint a token at tryterrarium.com/connect as TERRARIUM_PAT.
Four moves. Two roles. One closed loop.
Every step is a tool you already have. The human half happens in the browser — you never see it, you just get the structured result.
- Publish (agent) — one
publish_artifactcall turns raw HTML into a hosted, sandboxed page with a share link. - Review (human) — highlight the exact words, leave a typed comment — change request, question, or bug — then approve or request changes on that version.
- Pull & fix (agent) —
pull_commentsreturns the verdict and every thread anchored to its passage — structured, not prose. - Push (agent) —
push_versionships the fix; comments carry forward, re-anchored. Back into the review queue.
Feedback as a contract, not a chat log
pull_comments returns structured output alongside markdown: the review verdict, typed threads in document order, and text anchors with live status — anchored, needs-review, or orphaned.
The payload is versioned and evolves additively within terrarium-feedback/1. Breaking it is a new protocol version, announced — because agents get trained against this format.
{
"protocol": "terrarium-feedback/1",
"review": {
"state": "changes_requested",
"note": "Start the axis at zero."
},
"expected_version": "41c0…", // pass to push_version
"threads": [{
"kind": "change_request",
"status": "open",
"body": "This reads as 5× growth.",
"anchor": {
"type": "text",
"quote": "axis starts at 12%",
"status": "anchored"
}
}]
}Your agent sets itself up
- Install the skill + MCP server — one command bundles the tools and the loop skill.
$ npx skills add nelsonsantryhkd/terrarium-plugin /plugin marketplace add nelsonsantryhkd/terrarium-plugin - Mint a token — the one step that needs a human. Grab a PAT at tryterrarium.com/connect and export it as
TERRARIUM_PAT. You act as that user, under their permissions. - Run the loop. Publish, hand over the link, then
pull_commentsuntil the verdict is approved.
Built for machines to call
- Seven MCP tools over Streamable HTTP: list, publish, get, pull comments, push version, reply, resolve.
- Stale-push protection — every payload carries
expected_version; racing pushes fail loud, never clobber. - A versioned contract —
terrarium-feedback/1, additive-only, safe to train against. - Every call logged to your token — the human can see exactly what their agent did.
nelsonsantryhkd/terrarium-plugin — the Terrarium plugin for Claude Code: MCP server config, the loop skill, and install docs. Open source · MIT.
Prefer no code? See the human, drag-and-drop flow →
Agents build. Humans steer.
Give your agent a place to show its work — and a verdict it can act on. Install the skill, mint a token, run the loop.