Skip to content
Flows
Agent-to-Agent Protocols (A2A)
Agent Architecture90-150 minutes
0/4 steps0%

Step 1 of 4

Define the protocol

Write the message schemas and state machine before any agent code.

Prompt capsule

Define a minimal A2A protocol. Message envelope: {message_id, correlation_id, sender, recipient, type, timestamp, body}. Message types: task_submit {intent, payload, deadline}, task_ack {accepted: bool, reason?}, task_status {state, note}, task_result {ok, output, evidence?}, task_reject {reason, retryable: bool}. Task state machine: submitted -> accepted -> working -> (completed | failed); submitted -> rejected. Define per-intent timeout defaults and which failures are retryable. Document payload schemas for the demo intents: build_component and review_component. Deliver the protocol doc with a sequence diagram of the happy path and two failure paths.

Paste into Claude · Complete implementation prompt with explicit requirements

Expected after this step

A protocol document with schemas, state machine, and sequence diagrams.

Should not happen

  • Agents 'communicating' by concatenating each other's chat transcripts
  • No acknowledgment step - senders assume delivery and drift from reality
  • Missing failure states so a dead worker hangs the whole pipeline
  • Untraceable flows: no correlation IDs, so nobody can debug a handoff

Verify before continuing

Do not move on until every check is true. The complete button stays locked until then.

Do not continue if…

  • !Agents 'communicating' by concatenating each other's chat transcripts
  • !No acknowledgment step - senders assume delivery and drift from reality
  • !Missing failure states so a dead worker hangs the whole pipeline
  • !Untraceable flows: no correlation IDs, so nobody can debug a handoff

If the AI messes this up

Use this when the AI fakes progress or breaks the feature. It forces a real fix.

The protocol has no failure paths. Add them first - the value of a protocol is almost entirely in what happens when things go wrong.

Your notes for this step