Help us improve
Share bugs, ideas, or general feedback.
From a2a-multi-agent
Implements A2A clients that discover agents via Agent Cards, send JSON-RPC tasks, handle streaming/sync responses, task states, and multi-turn conversations for delegating to A2A agents.
npx claudepluginhub orcaqubits/agentic-commerce-skills-plugins --plugin a2a-multi-agentHow this skill is triggered — by the user, by Claude, or both
Slash command
/a2a-multi-agent:a2a-clientThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Fetch live docs**:
Turns 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.
Builds A2A servers handling JSON-RPC requests at agent endpoints, routing methods, managing task states, and executing agent logic via SDK handlers.
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.
Share bugs, ideas, or general feedback.
Fetch live docs:
https://a2a-protocol.org/latest/specification/ for client-side protocol requirementssite:github.com a2aproject a2a-python client or a2aproject a2a-js client for SDK client classessite:github.com a2aproject a2a-samples client for reference client implementationsAn A2A client is the requesting side that:
/.well-known/agent-card.json)input-required states)1. Discover agent → Fetch Agent Card
2. Check capabilities → Verify the agent can handle the task
3. Authenticate → Satisfy the agent's auth requirements
4. Send message → POST JSON-RPC to agent URL
5. Handle response → Process task result or continue conversation
6. Monitor → Poll, stream, or receive push notifications
Before sending requests, the client must discover the target agent:
{base_url}/.well-known/agent-card.jsonTwo modes:
message/send) — Send a message, wait for the complete responsemessage/stream) — Send a message, receive SSE events as the agent processes{
"jsonrpc": "2.0",
"method": "message/send",
"id": "request-id",
"params": {
"message": {
"role": "user",
"parts": [
{ "kind": "text", "text": "Your task description" }
]
},
"configuration": {
"acceptedOutputModes": ["text/plain", "application/json"]
}
}
}
For continuing a task, include taskId in params.
The client must handle different task states:
tasks/get or use streaming)Sequential delegation: Client sends tasks to agents one at a time, using results from one as input to the next.
Parallel delegation: Client sends tasks to multiple agents concurrently, aggregates results.
Conditional routing: Client reads Agent Cards to decide which agent handles each subtask based on skills.
Fallback: Client tries one agent, falls back to another if the first fails or rejects.
completedFetch the SDK documentation for exact client class names, constructor parameters, request builders, and response types before implementing.