agent-protocollisted
Install: claude install-skill metraton/gaia
# Agent Protocol
## What is agent-protocol?
The producer's playbook for an agent turn: how to read where you stand in the increment, and how to emit your position back so the orchestrator can decide the next dispatch. The `agent_contract_handoff` is the coordination tool, not an administrative form -- the orchestrator reads your draft (it carries no shell, so this is a dispatched gaia-operator read of `gaia contract view`, relayed back to it) to route mid-turn, and the runtime persists the outcome once you `gaia contract finalize`. Build it BY-VALUE with the `gaia contract` CLI across the turn (`init` once, then `set`/`add`/`fill --json` as you discover things, `finalize` once at the end) instead of composing and re-emitting one large fenced JSON block every message -- see "Building the contract" below. Regardless of how it was built, a fenced `agent_contract_handoff` block in your final response text is still required output every turn: the SubagentStop gate parses that fence, not your finalized DB row, so building by-value via the CLI is not a second protocol that exempts you from emitting it. This skill is produce-side judgment only. For the full field schema, conditional triggers, sub-field tables, the INPUT-vs-OUTPUT name collision, and the agent_state enum, see `agent-contract-handoff`. For the approval payload, see `agent-approval-protocol`; for orchestrator-side interpretation, see `agent-response`.
## The workflow as a map
```
INVESTIGATE -> PLAN -> EXECUTE -> VE