Help us improve
Share bugs, ideas, or general feedback.
From agent-skills
Use when implementing the Agent-to-Agent (A2A) protocol for inter-agent communication, task delegation, and multi-agent collaboration. USE FOR: agent-to-agent communication, task delegation between agents, Agent Card publishing, multi-agent collaboration DO NOT USE FOR: tool integration (use mcp), agent payments (use ap2 or x402), agent definition (use adl)
npx claudepluginhub tyler-r-kendrick/agent-skills --plugin agent-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/agent-skills:a2aThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A2A is an open protocol from Google that defines how AI agents communicate, delegate tasks, and collaborate with each other. While MCP focuses on tool integration, A2A addresses agent-to-agent interoperability.
AGENTS.mdREADME.mdmetadata.jsonrules/_sections.mdrules/_template.mdrules/a2a-combine-a2a-with-mcp.mdrules/a2a-handle-the-input-required-status-to-support-interactive.mdrules/a2a-implement-idempotency-on-task-ids-so-retries-don-t-create.mdrules/a2a-publish-an-agent-card-with-accurate-skill-descriptions-so.mdrules/a2a-use-streaming-tasks-sendsubscribe-for-long-running.mdTurns XActions into an A2A-compatible agent that discovers, communicates with, and delegates tasks to other AI agents using Google's Agent-to-Agent protocol. Useful for multi-agent orchestration, inter-agent task streaming, and agent discovery.
Agent-to-Agent (A2A) protocol implementation patterns for Google ADK - exposing agents via A2A, consuming external agents, multi-agent communication, and protocol configuration. Use when building multi-agent systems, implementing A2A protocol, exposing agents as services, consuming remote agents, configuring agent cards, or when user mentions A2A, agent-to-agent, multi-agent collaboration, remote agents, or agent orchestration.
Applies A2A patterns for multi-agent orchestration topologies, idempotency, observability, versioning, and deployment. Use when architecting agent systems or handling cross-cutting concerns.
Share bugs, ideas, or general feedback.
A2A is an open protocol from Google that defines how AI agents communicate, delegate tasks, and collaborate with each other. While MCP focuses on tool integration, A2A addresses agent-to-agent interoperability.
Every A2A agent publishes an Agent Card at /.well-known/agent.json describing its capabilities:
{
"name": "Research Agent",
"description": "Finds and summarizes information on any topic",
"url": "https://research-agent.example.com",
"capabilities": {
"streaming": true,
"pushNotifications": true
},
"skills": [
{
"id": "web-research",
"name": "Web Research",
"description": "Search and summarize web content"
}
]
}
A2A communication revolves around Tasks with a defined lifecycle:
submitted → working → [input-required] → completed / failed / canceled
Agents exchange Messages containing Parts (text, files, data):
{
"role": "agent",
"parts": [
{ "type": "text", "text": "Here is the research summary." },
{ "type": "file", "file": { "name": "report.pdf", "mimeType": "application/pdf", "bytes": "..." } }
]
}
A2A uses HTTP + JSON-RPC 2.0:
POST / — send JSON-RPC requests| Method | Description |
|---|---|
tasks/send | Send a message to create or continue a task |
tasks/sendSubscribe | Send and subscribe to streaming updates |
tasks/get | Get current task state |
tasks/cancel | Cancel an in-progress task |
tasks/pushNotification/set | Register a webhook for task updates |
Client Agent
│ │
│── tasks/send ────────────────►│ Create task with user message
│◄── status: working ──────────│ Agent begins processing
│◄── status: completed ────────│ Agent returns result
│ │
A client agent can delegate subtasks to specialist agents:
input-required status for interactive collaboration| Aspect | A2A | MCP |
|---|---|---|
| Focus | Agent-to-agent communication | Agent-to-tool integration |
| Discovery | Agent Cards (.well-known/agent.json) | Server capabilities negotiation |
| Transport | HTTP + JSON-RPC + SSE | stdio, HTTP + SSE |
| Interaction | Task-based (long-running) | Request-response (tool calls) |
| Complementary | Delegates to agents | Calls tools |
tasks/sendSubscribe) for long-running tasks to provide progress updates.input-required status to support interactive multi-turn workflows.