pagepin Home vs BugHerd Agent API Sign in Star
Guide · use case

How to share a Claude Code HTML report — with review comments

Your agent built an HTML report, dashboard, or artifact. Here is how to put it behind a public link anyone can open, collect pin-point comments without asking reviewers to sign up, and let the agent read that feedback as JSON, fix the file, and redeploy — the whole loop, in five steps.

No account for reviewers Feedback comes back as JSON Open source, self-hostable
Why this is annoying today

A report the agent built is trapped on your machine.

Claude Code happily produces a polished report.html — a data dashboard, a prototype, a one-off analysis. Getting a stakeholder to look at it is the hard part. Attaching the file loses interactivity; screenshotting loses the detail; and Claude Code's own Artifacts sharing is limited to Team and Enterprise plans and stays locked inside your organization — you can't hand a public link to a client or PM.

pagepin closes that gap. It is an open-source static host built for exactly this: your agent deploys the page, you get a shareable link, reviewers pin comments right on the page, and the agent reads those comments back as structured JSON to fix and redeploy. Below are two ways to do it — the skill path (you talk to your agent in plain language) and the curl path (the underlying HTTP calls, if you'd rather script it).

RecommendedThe skill path
Install the pagepin skill once, then ask your agent in plain language. It handles login, deploy, share link, and comments for you.
ScriptableThe curl path
Plain HTTP against the pagepin API with a Personal Access Token — no CLI or SDK. Good for CI or your own automation.
1

Install the pagepin skill

In any shell-capable agent (Claude Code, Cursor, Codex CLI, Gemini CLI, Windsurf, OpenCode), install the skill globally:

terminal
npx skills add pagepin/pagepin -g

No local skill directory? Paste this line into the agent's chat instead — it fetches the same instructions over HTTP:

chat
Fetch https://pagepin.ai/skill.md and follow it to deploy
and update pages with pagepin, and to fetch and resolve
review comments.

The first deploy triggers a one-time browser login (OAuth 2.0 device flow) — no token is ever pasted into chat. On app.pagepin.ai (free during Beta) the account is ready in seconds; you can also self-host and point the skill at your own instance.

2

Ask the agent to deploy the report

Just say it in plain language — the skill maps this to the deploy API and hands you a link:

chat
Deploy report.html to pagepin as "q1-report" and give me
the link.

Under the hood that is one multipart call. Here is the equivalent curl pathfiles is the file content, paths its in-site path; re-deploying the same slug appends a new atomic version:

bash
curl -fsS -X POST "$PAGEPIN_BASE/api/sites/q1-report/deploy" \
  -H "Authorization: Bearer $PP_TOKEN" \
  -F "paths=index.html" \
  -F "[email protected];type=text/html" \
  -F "title=Q1 report"
# → { "url": "…/q1-report/", "visibility": "private", "version_count": 1 }

A single HTML file is safest deployed as paths=index.html. The page is private by default — the next step makes it shareable.

3

Mint a share link anyone can open

A share link lets guests view the private page and pin comments without an account — the friendly way to send it over chat, IM, or email. By default the link never expires; revocation is the control.

bash
curl -fsS -X POST "$PAGEPIN_BASE/api/sites/q1-report/share-link" \
  -H "Authorization: Bearer $PP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"label":"for the client review"}'
# → { "url": "https://<host>/s/AbC123", "code": "AbC123", "expires_at": null }

In the skill path you'd simply say “give me a public share link for q1-report labelled for the client review.” Pass hours if you want a self-expiring link (server-capped, default cap 720h). Prefer a fully public page instead? PATCH /api/sites/q1-report with {"visibility":"public","public_hours":72} opens it for a bounded window that auto-reverts.

4

Reviewers pin comments — no sign-up

Anyone opening the share link sees the report with a lightweight comment overlay. They click an element and leave a thread, tagged as copy, style, question, or bug. Guests can comment and reply; resolving stays with you and other logged-in members. (You can turn guest commenting off per site if you want view-only sharing.)

5

The agent pulls the feedback, fixes, redeploys

This is the payoff. Open threads come back as structured JSON — selector, kind, resolved and stale flags, plus a deep link. Your agent reads them, edits the file by selector, redeploys the same slug, then replies and resolves:

bash
# 1. read the open review comments
curl -fsS "$PAGEPIN_BASE/api/sites/q1-report/comments" \
  -H "Authorization: Bearer $PP_TOKEN"
# → [ { "id":"th_9f2a", "selector":"h1.title", "kind":"copy",
#       "resolved":false, "stale":false, "url":"…" } ]

# 2. …agent edits report.html and redeploys the same slug (step 2)…

# 3. leave a traceable reply, then resolve the thread
curl -fsS -X POST "$PAGEPIN_BASE/api/sites/q1-report/comments/th_9f2a/replies" \
  -H "Authorization: Bearer $PP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text":"Fixed in v2 — reworded the headline."}'
curl -fsS -X PATCH "$PAGEPIN_BASE/api/sites/q1-report/comments/th_9f2a" \
  -H "Authorization: Bearer $PP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"resolved":true}'

On redeploy, pins re-anchor automatically; a thread raised against an older version is flagged stale rather than lost. For a question the agent can't judge, it relays it to you instead of resolving. The full endpoint list is on the Agent API page.

A publicly shareable Claude Code Artifacts alternative

Why not just use Artifacts?

Claude Code's built-in Artifacts sharing is available on Team and Enterprise plans and keeps pages inside your organization — you can't send a public link to an outside client, and there's no pin-point comment channel a coding agent can read back. pagepin is the open, shareable version of that idea: a real URL you can hand to anyone, review comments that return as JSON, and Apache-2.0 source you can run yourself for data residency. Same convenience, none of the walls.

Share your first report free Fetch /skill.md
Keep reading
Reference
Pagepin Agent API →
Every endpoint for deploy, comments, and share links, with copy-paste curl.
Comparison
Pagepin vs BugHerd →
Open-source alternative for AI coding workflows — an honest, fact-only look.
pagepin Drop a file, get a link.
GitHub /skill.md Sign in
© 2026 pagepin Apache-2.0 Terms Privacy Acceptable Use Report abuse One Node process · SQLite · pluggable storage