proof

Installation
SKILL.md

Proof - Collaborative Markdown Editor

Proof is a collaborative document editor for humans and agents. This skill uses the hosted web API at https://www.proofeditor.ai (HTTP/Bash). If typed proof_* MCP tools are already available in the harness, prefer them; otherwise use the HTTP recipes below.

Identity and Attribution

Every write to a Proof doc must be attributed. Two fields carry the agent's identity:

  • Machine ID (by on every op, X-Agent-Id header): ai:tunan — stable, lowercase-hyphenated, machine-parseable. Appears in marks, events, and the API response.
  • Display name (name on POST /presence): tunan — human-readable, shown in Proof's presence chips and comment-author badges.

Set the display name once per doc session by posting to presence with the X-Agent-Id header; Proof binds the name to that agent ID for the session. These values are the defaults for any caller of this skill; callers running HITL review (references/hitl-review.md) may pass a different identity pair if a distinct sub-agent should own the doc. Do not use ai:compound or other ad-hoc variants — identity stays uniform unless a caller explicitly overrides it.

Human-in-the-Loop Review Mode

Human-in-the-loop iteration over a markdown source: upload to Proof, let the user annotate in Proof's web UI, ingest feedback as in-thread replies and agreed edits, and sync the final doc back to the source. Load references/hitl-review.md for the full loop spec (invocation contract, source resolution, mark classification, idempotent ingest passes, exception-based terminal reporting, end-sync write).

Interaction method. Every user-facing choice in that loop — the "what next" / next-signal / sync-confirm menus at the end of Phases 1, 4, and 5 — must fire the platform's blocking question tool, never an ad-hoc chat menu: AskUserQuestion in Claude Code (call ToolSearch with select:AskUserQuestion first if its schema isn't loaded), request_user_input in Codex, ask_user in Gemini, ask_user in Pi. Fall back to a numbered list in chat only when no blocking tool exists in the harness or the call errors — never because a schema load is required, and never silently skip the question.

Installs
20
First Seen
Jul 4, 2026