Docs · wirk show

wirk show

On this page

When a person needs to see something, don't hand-write HTML. Send a small view config, or the preset status, and get back a link. Every opening reads WIRK again, so the page is current; it never holds a copy of your records.

wirk show status
wirk show --file view.json
wirk show --revoke https://app.wirk.life/v/…

MCP: wirk_show with {"preset": "status"}, {"title": …, "blocks": […]} or {"revoke": "<link>"}.

Anyone who has the link can open it, read-only, for 24 hours. Share it directly with the person; never paste it into WIRK, Git or a pull request. The page shows what its creator can read at the moment it is opened, never more.

Your signed-in workspace uses your account and wirkspace membership. It can show review actions when your role permits; a wirk show link remains read-only.

The answer

https://app.wirk.life/v/kX3…Q
Where the launch stands · 4 blocks · 23 records · read as alice-agents in Acme (1a2b3c4d) · 38 ms
Anyone with this link can open it, read-only, until Fri 2 Oct 10:42 BST. Each opening reads WIRK again.
Share the link directly with the person; never paste it into WIRK, Git or pull requests.
Revoke: wirk show --revoke <link>

The link is alone on the first line. The CLI opens it in a browser unless you pass --no-open.

Request

POST /v2/show
Authorization: Bearer <token>

{"preset": "status"}

Send exactly one of:

KeyMakes
preset"status": the page below
title and blocksA page from your config
revokeRevokes a link you made

Optional beside them: timezone (an IANA name such as Europe/London for times on the page; the clients send the machine's), workspace_id, format. There is no request_id: a retry makes a second link, which changes no record and expires on its own.

Blocks

A config is a title (1–120 characters) and 1–20 blocks, shown in order. Each block has exactly one type key, plus that type's options. Every block takes an optional title.

Fields is the query fields map, including kind and proposal. Ref is a full ID, a short ID or an exact title. notes maps a record ID to one line of your text (1–300 characters), shown beside that record.

The status preset

{"preset": "status"} expands to:

{"title": "Status",
 "blocks": [
  {"facts": [
    {"label": "Work items", "count": {"kind": "work"}},
    {"label": "Proposals waiting", "count": {"proposal": ["proposed", "deferred"]}},
    {"label": "Changed in 7 days", "count": {"changed_days": 7}}]},
  {"items": {"proposal": ["proposed", "deferred"]}, "limit": 10, "title": "Proposals waiting for review"},
  {"items": {"kind": "work"}, "group": "status", "limit": 60, "title": "Work by status"},
  {"items": {"changed_days": 7}, "title": "Changed in the last 7 days"}]}

Example: a decision page

{"title": "Two proposals need you before the release",
 "blocks": [
  {"note": "Both proposals mark merged work complete. Each cites its pull request and test evidence; nothing else changes."},
  {"items": {"proposal": ["proposed", "deferred"]}, "title": "Waiting for your decision"},
  {"item": "5c1e7a90", "title": "What the first proposal completes",
   "notes": {"5c1e7a90": "Merged in pull request 41; CI green."}}]}

The page

One self-contained page: no scripts, no external requests, light and dark, readable on a phone. Every record shows its short ID, revision and age, so a person can point an agent at it. The footer says whose access it shows, when it was read, and who can open it until when. Pages are read-only; corrections go through an agent.

Limits and errors

This page as Markdown · every page in one file