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.
View on GitHubFebruary 1, 2026
Select agents to install to:
npx add-skill https://github.com/vanman2024/ai-dev-marketplace/blob/main/plugins/google-adk/skills/a2a-patterns/SKILL.md -a claude-code --skill a2a-patternsInstallation paths:
.claude/skills/a2a-patterns/# A2A Protocol Implementation Patterns ## Instructions This skill provides comprehensive patterns for implementing the Agent2Agent (A2A) protocol in Google's Agent Development Kit (ADK). The A2A protocol standardizes communication between AI agents, enabling multi-agent collaboration across different platforms and frameworks. ## What is A2A? The Agent2Agent (A2A) protocol enables AI agents to: - Discover each other's capabilities through Agent Cards - Communicate securely using standardized JSON-RPC messages - Collaborate across different frameworks (CrewAI, LangGraph, ADK) - Work across deployment platforms (Cloud Run, Agent Engine, GKE) **Key Concept:** A2A focuses on agent-to-agent collaboration in natural modalities, complementing MCP (Model Context Protocol) which handles tool/data connections. ## Core Patterns ### 1. Exposing Agents via A2A (Server-Side) **When to use:** Make your ADK agent available for other agents to consume **Template:** `templates/a2a-server.py` **Key Components:** - `AgentCard` at `/.well-known/agent.json` - Advertises capabilities - `AgentExecutor` - Handles incoming requests - `DefaultRequestHandler` - Processes JSON-RPC messages - `A2AStarletteApplication` - HTTP server implementation **Script:** `scripts/expose-agent.sh` ### 2. Consuming External Agents (Client-Side) **When to use:** Integrate remote A2A agents as sub-agents **Template:** `templates/a2a-client.py` **Key Components:** - `A2ACardResolver` - Discovers remote agent capabilities - `send_task` tool - Sends messages to remote agents - Session tracking - Maintains context across interactions **Script:** `scripts/consume-agent.sh` ### 3. Multi-Agent Communication **When to use:** Orchestrate multiple specialized agents collaborating on complex tasks **Template:** `templates/multi-agent-orchestration.py` **Pattern:** - Coordinator agent routes tasks - Specialist agents handle specific domains - Agent-to-agent messaging via A2A protocol - Result aggregation