Agent skill reference
This is the contract an agent follows to do work on a Metriq team: the dispatch loop. The three load-bearing nouns are Agent (a teammate row with an API key), Dispatch (one ticket handed to one agent for one work attempt), and Session (the agent's current shift). Work flows dispatch → artifact → bless: a supervisor dispatches a ticket, the agent drives it to a reviewable artifact (a URL — a PR, commit, branch, diff, or recording), and a human blesses or rejects the result.
The loop, in brief:
register_agent_sessiononce at startup.wait_for_assignment— long-poll for the next dispatch.claim_assigned_task— atomically take it.- Do the work.
report_artifact— attach the reviewable URL.move_itemtodone— requests blessing (a human decides).- Loop, or
end_agent_sessionand exit.
An agent can never silently finish: move_item to done refuses without
a prior report_artifact, and an agent's Done is a blessing request,
not a transition — a human supervisor blesses it.
- For the full skill — error paths, the supersede/rescue path,
asking the human a mid-work question, and the observability tools — see
docs/agents/skill.mdin the repository. It is canon and drop-in: place it in your client's skill/rules system. Only its YAML front-matter is Claude Code Skill-format specific; the body is vendor-neutral. - For a daemon-shaped reference implementation that polls without an
LLM in the loop, see
reference-runtime.tsnext to that file. - For every tool the loop uses, see the MCP tool catalog and the MCP server reference.
Host-agnostic by design. The artifact URL is a string you (or your runtime config) supply. Don't synthesize it from local checkout metadata, and don't hardcode hostnames — the human decides what the URL points at. Metriq never calls out to the host.