Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

a2a-patterns

verified

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 GitHub

Marketplace

ai-dev-marketplace

vanman2024/ai-dev-marketplace

Plugin

google-adk

development

Repository

vanman2024/ai-dev-marketplace
2stars

plugins/google-adk/skills/a2a-patterns/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
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-patterns

Installation paths:

Claude
.claude/skills/a2a-patterns/
Powered by add-skill CLI

Instructions

# 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 

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
15591 chars