From ark
Reference documentation for the Agent2Agent (A2A) protocol. Use when building A2A servers or clients, configuring Ark A2AServer resources, debugging A2A communication, or answering questions about the A2A specification, Agent Cards, task lifecycle, streaming, extensions, or protocol bindings.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ark:a2a-protocolThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Reference skill for the [Agent2Agent (A2A) Protocol](https://a2a-protocol.org),
Reference skill for the Agent2Agent (A2A) Protocol, an open standard by Google / the A2A Project (Linux Foundation) for communication between independent AI agent systems.
Attribution: All specification and topic content in
references/is sourced from the official A2A repository under the Apache-2.0 license. Each file includes source attribution in its YAML frontmatter.
IMPORTANT — Use v0.3 by default. The primary references in
references/v0.3/are v0.3.0, the version currently supported by the official Go and Python SDKs and most implementations. The v1.0 RC spec is inreferences/v1.0-rc/and should only be consulted when explicitly working on v1.0 features or migration planning.
A2AServer custom resourcesA2A enables agents built on different frameworks to discover capabilities, negotiate interaction modes, manage collaborative tasks, and exchange information — without exposing internal state, memory, or tools.
Core actors:
Core elements:
| Element | Purpose |
|---|---|
| Agent Card | JSON metadata: identity, capabilities, endpoint, auth |
| Task | Stateful unit of work with unique ID and lifecycle |
| Message | Single communication turn (role: "user" or "agent") |
| Part | Content container: text, file reference, or structured data |
| Artifact | Tangible output generated during a task |
Interaction patterns:
Task lifecycle: submitted → working → input-required → completed / failed / canceled
Agent discovery: Clients find agents via /.well-known/agent.json
The primary A2A specification (v0.3.0) is split into sections in references/v0.3/:
| File | Contents |
|---|---|
| spec-01-introduction.md | Goals, principles, design |
| spec-02-core-concepts.md | Core concepts summary |
| spec-03-transport.md | Transport layer: JSON-RPC 2.0 over HTTP, SSE streaming |
| spec-04-authentication.md | Authentication and authorization |
| spec-05-agent-card.md | Agent Card structure, discovery, extended cards |
| spec-06-data-objects.md | Task, Message, Part, Artifact, TaskStatus, streaming events |
| spec-07-rpc-methods.md | All JSON-RPC methods (send, stream, get, cancel, push, resubscribe) |
| spec-08-error-handling.md | Error codes and handling |
| spec-09-workflows.md | Common workflows and examples |
| spec-10-appendices.md | Appendices |
| spec-11-compliance.md | A2A compliance requirements |
Conceptual guides from the A2A documentation:
| File | Contents |
|---|---|
| topic-what-is-a2a.md | Overview of A2A purpose and benefits |
| topic-key-concepts.md | Core concepts: actors, elements, interactions |
| topic-agent-discovery.md | Agent Card discovery mechanisms |
| topic-life-of-a-task.md | Task lifecycle and state transitions |
| topic-streaming-and-async.md | SSE streaming and async patterns |
| topic-extensions.md | A2A extension mechanism |
| topic-enterprise-ready.md | Enterprise features: auth, security, tracing |
| topic-a2a-and-mcp.md | A2A vs MCP comparison |
| Method | Description |
|---|---|
message/send | Send a message, get a response (or initiate a task) |
message/stream | Send a message and stream response via SSE |
tasks/get | Get current state of a task |
tasks/cancel | Cancel a running task |
tasks/resubscribe | Re-subscribe to a task's SSE stream |
tasks/pushNotificationConfig/set | Configure push notification webhook |
tasks/pushNotificationConfig/get | Get push notification config |
tasks/pushNotificationConfig/list | List push notification configs |
tasks/pushNotificationConfig/delete | Delete push notification config |
agent/getAuthenticatedExtendedCard | Get extended Agent Card (authenticated) |
{
"name": "My Agent",
"description": "An agent that does useful things",
"url": "https://myagent.example.com/a2a",
"version": "1.0.0",
"capabilities": {
"streaming": true,
"pushNotifications": true
},
"skills": [
{
"id": "summarize",
"name": "Summarize Text",
"description": "Summarizes long text into key points"
}
],
"securitySchemes": {
"bearer": {
"type": "http",
"scheme": "bearer"
}
},
"security": [{ "bearer": [] }]
}
Discovered at: https://myagent.example.com/.well-known/agent.json
The v1.0 Release Candidate spec is available in references/v1.0-rc/ for
forward-looking work. Key differences from v0.3 are documented in
v1.0-rc/topic-whats-new-v1.md.
Only consult v1.0 content when:
npx claudepluginhub p/mckinsey-ark-claudeAgent-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.
Creates and configures A2A Agent Cards—JSON discovery documents detailing agent identity, capabilities, skills, authentication schemes, and endpoints for agent-to-agent delegation.
Provides an overview of AI agent protocols and standards: MCP, A2A, ACP, ADL, x402, AP2, AGENTS.md, Agent Skills, Improve, learn, cagent, and MCP Apps. Helps select and compare protocols.