skills/ai/a2a/SKILL.md
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 skillsauth add Tyler-R-Kendrick/agent-skills a2aInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.tools
Use when building or maintaining a design system — the coordinated set of design tokens, component libraries, documentation, and tooling that ensures visual and behavioral consistency across products. USE FOR: design system architecture, choosing token formats vs component frameworks, connecting Figma to code, design-to-development workflows, multi-platform consistency DO NOT USE FOR: specific token authoring (use design-tokens), Figma workflows (use figma), component cataloging (use storybook), token transformation (use style-dictionary), cross-framework components (use mitosis)
tools
Use when implementing the x402 protocol for HTTP-native micropayments. Covers server middleware, client payment flows, facilitator integration, and stablecoin payments for APIs and AI agents. USE FOR: API micropayments, monetizing endpoints, stablecoin HTTP payments, automated agent payments for API access DO NOT USE FOR: full commerce flows with cart/checkout (use ap2), agent communication (use a2a), tool integration (use mcp)
tools
Use when implementing or integrating with the Model Context Protocol (MCP) for AI tool servers, resources, prompts, and context management. USE FOR: building MCP tool servers, exposing resources to agents, prompt templates, connecting agents to external APIs DO NOT USE FOR: agent-to-agent communication (use a2a), interactive UI rendering (use mcp-apps), agent payments (use x402 or ap2)
tools
Use when building MCP Apps that serve interactive UI from MCP servers. Covers the ui:// URI scheme, HTML rendering in sandboxed iframes, and bidirectional communication between UI and host. USE FOR: rich UI in agent conversations, interactive dashboards from MCP servers, sandboxed iframe rendering DO NOT USE FOR: basic tool responses without UI (use mcp), agent communication (use a2a), full web applications