---
name: pages
description: >-
  This skill should be used whenever the user asks for an artifact, a page, a
  report, a dashboard, a comparison, a mockup or anything else self-contained
  to look at or share rather than read in the terminal — "make me an artifact
  of this", "create an artifact", "put this on a page", "give me something I
  can share". It says how to make it as a Kurrent Capacitor page through the
  `kcap mcp pages` MCP tools instead of the harness's own artifact tool, how
  to hand back the link, and when to open it in the harness's browser tool.
---

# Pages — the artifact the user asked for

With kcap installed, a request for an artifact is a request for a kcap page: a
self-contained HTML page the server hosts at a stable URL, shared like a
session. Make it with `publish_page` from the `kcap-pages` MCP tools, not with
your harness's own artifact tool (Claude Code's `Artifact`, or its equivalent
elsewhere). The one exception is the user naming that tool — "a claude.ai
artifact" — which you honor as asked.

## Making the page

- One complete HTML document, passed as `html` or as a local file in `path`.
- The page runs sandboxed with no network: inline every style, script and
  image as a data URI. An external URL renders as nothing, silently.
- `title` is required; `description` is one line saying what the page is for.
- A page is private to its owner. Set `visibility` (`org`, or `scoped` with
  `grants`) when the user said who else should open it. When they asked for
  something to share but named nobody, ask who should open it before you
  publish. A request that mentions no one else stays private.
- A revision of a page you already published is `publish_page` with
  `update_id` — the URL does not change.
- To ask the readers something, declare a `response_schema`; then
  `await_page_responses` and `get_page_results` read what they answered.

## After publishing

The result carries the page's `url`. Do both of these, in this order:

1. **Put the link in your reply.** Every time, whatever else happens; it is
   what the user forwards. A private page opens only for them: say so when
   you left it private.
2. **Open it in your harness's browser tool, if it has one.** Claude Code's
   desktop app has a browser pane (`navigate` or `preview_start` with the
   URL); Cursor and Antigravity have browsers of their own. Use that tool with
   the page URL. A harness with no browser tool gets the link only.

Never open a system browser (`open`, `xdg-open`, `start`): you may be a hosted
agent running on a machine that is not the user's.

The browser tool keeps its own profile, so the first open may land on the kcap
sign-in page before the page itself. Say so in one line when it happens; the
user signs in once and the page appears.
