a2a
Skill1 starsChanged 31 days agoMITView on GitHub
A2A protocol: publish Agent Cards and talk agent to agent over the Agent2Agent (A2A) 1.0 specification from the Linux Foundation. Use when building or reviewing an A2A server (remote agent) or client: the Agent Card at /.well-known/agent-card.json, skills, supportedInterfaces, securitySchemes and securityRequirements, signed Agent Cards (JWS over RFC 8785 JCS), the authenticated extended Agent Card, the JSON-RPC, gRPC and HTTP+JSON bindings, SendMessage, SendStreamingMessage, GetTask, ListTasks, CancelTask, SubscribeToTask, task states such as TASK_STATE_INPUT_REQUIRED and TASK_STATE_AUTH_REQUIRED, messages, parts and artifacts, Server-Sent Events streaming, push notification webhooks, the A2A-Version header, application/a2a+json, a2a.proto and the A2A JSON Schema. Triggers: a2a, agent2agent, agent card, agent-to-agent, multi-agent interop, remote agent, A2A SDK.
We split this skill into the rules it gives an agent
4 rules. 0 are common, 0 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 42
Declare security: Add securitySchemes and card-level and per-skill securityRequirements.
- Very specific: line 51
Add streaming and push notifications: if the card declares them.
- Very specific: line 54
Sign the card and review security: if cards are signed or extended cards are offered.
- Very specific: line 70
references/agent-card.md: every Agent Card field, interfaces, skills, security schemes and requirements in JSON, extensions, caching, and …
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
A2A (Agent2Agent) protocol
The Agent2Agent (A2A) protocol is an open standard for communication between independent AI agents, originally developed by Google and maintained under the Linux Foundation. With this skill the agent publishes an Agent Card, implements A2A operations on one or more protocol bindings, and calls remote A2A agents, following protocol version 1.0.
Follow the workflow below step by step. Every rule here comes from a source in Sources, with the section it cites (§ numbers refer to the A2A specification). When a rule and the pinned source disagree, the source wins; when the source has a newer revision than the pin, follow the refresh steps.
Inputs (fill in, or ask before starting)
- Role: A2A server (remote agent), A2A client, or both (an agent that is a client of other agents).
- Bindings: which of
JSONRPC,GRPCandHTTP+JSONto expose or call (§ 5, § 9 to § 11). - Authentication: the security schemes the server accepts (API key, HTTP auth, OAuth 2.0, OpenID Connect, mutual TLS) and the scopes per skill (§ 4.5, § 7).
- Revision: protocol version
1.0, specification release v1.0.1, unless the user names another. - Sources: when refreshing this skill or when a rule looks out of date, re-read every URL in Sources, check the A2A GitHub releases and the "Latest Released Version" banner on the specification page, and update the pins.
Invariants
- The proto is normative.
a2a.protois the single authoritative definition of all data objects and request and response messages; JSON Schema and SDK types are derived and must be regenerated, never hand-edited (§ 1.4). Where prose or an example disagrees with the proto, follow the proto. - Publish an Agent Card (§ 8.1). The well-known location is
https://{server_domain}/.well-known/agent-card.json(§ 8.2, § 14.3). - Declare every supported interface in
supportedInterfaces, in preference order, each with a correcturl,protocolBindingandprotocolVersion(§ 5.2, § 8.3.1). All bindings an agent supports must offer the same operations, behavior, errors and authentication (§ 5.1). - JSON uses camelCase field names and ProtoJSON enum names such as
TASK_STATE_COMPLETEDandROLE_USER(§ 5.5). Timestamps are ISO 8601 strings in UTC (§ 5.6.1). - Authenticate every request and authorize every operation (§ 7.4, § 13.1). Scope
GetTask,ListTasksand task-related operations to the caller, and do not reveal resources the caller may not access (§ 3.3.2, § 13.1). - Version every request. Clients send
A2A-Version(Major.Minor, such as1.0); servers treat an empty value as0.3and returnVersionNotSupportedErrorfor unsupported versions (§ 3.6). - Honor declared capabilities. Streaming, push notifications, the extended Agent Card and required extensions each have a mandated error when not supported (§ 3.3.4).
- Use TLS in production (§ 7.1, § 13.4). Webhook URLs are validated against SSRF (§ 13.2).
- Signed cards are JWS over the RFC 8785 canonical card, with the
signaturesfield excluded and default values removed (§ 8.4).
Workflow
- Write the Agent Card. Fill the required fields, the capabilities, the skills and
supportedInterfaces; serve it at the well-known URI with caching headers. ->references/agent-card.md✓ The card has every REQUIRED proto field, validates against the A2A JSON Schema, and is reachable at/.well-known/agent-card.jsonwithCache-ControlandETag(§ 8.6.1). - Declare security. Add
securitySchemesand card-level and per-skillsecurityRequirements; decide what the authenticated extended card adds. ->references/agent-card.md,references/security.md✓ Each scheme uses one of the five proto scheme types; OAuth flows areauthorizationCode,clientCredentialsordeviceCode, not the deprecatedimplicitorpassword(§ 4.5.7). - Implement the operations on each binding. Map the eleven operations to JSON-RPC methods, gRPC RPCs or REST endpoints, with the service parameters and error mappings of that binding.
->
references/operations-and-bindings.md✓ Every A2A error maps to the code in § 5.4, and HTTP+JSON errors carry agoogle.rpc.ErrorInfowithdomain: "a2a-protocol.org"(§ 11.6). - Model tasks, messages and artifacts. Return a
Taskor a directMessagefromSendMessage, drive task states, put outputs in artifacts, and handle multi-turncontextIdandtaskIdrules. ->references/tasks-messages-streaming.md✓ Terminal states reject further messages withUnsupportedOperationError(§ 3.1.1), and task outputs are artifacts, not messages (§ 3.7). - Add streaming and push notifications if the card declares them.
->
references/tasks-messages-streaming.md✓ Streams start with aTaskor a singleMessage, keep event order, and close on a terminal state (§ 3.1.2, § 3.5.2); webhooks receiveStreamResponsepayloads with the configured credentials (§ 4.3.3). - Sign the card and review security if cards are signed or extended cards are offered.
->
references/security.md✓ A client can rebuild the canonical payload and verify at least one signature (§ 8.4.3); the extended card requires authentication (§ 13.3).
Verify before done
- The Agent Card validates against the published A2A JSON Schema and uses
securityRequirements(proto field 9), not the oldersecurityname that still appears in some prose and examples. supportedInterfaces[0]is the preferred interface, and clients settenantexactly as declared (§ 8.3.2).- Each operation returns the § 5.4 error code on every binding the card declares.
ListTasksreturns only the caller's tasks, sorted by last update descending, and always includesnextPageToken(§ 3.1.4).- Requests without
A2A-Versionare treated as0.3(§ 3.6.2). - Push notification webhook URLs reject private, loopback and link-local addresses (§ 13.2).
- Card signatures use a protected header with
alg,kidandtyp: "JOSE"(§ 8.4.2).
Reference index
references/agent-card.md: every Agent Card field, interfaces, skills, security schemes and requirements in JSON, extensions, caching, and a full example. Load for steps 1 and 2.references/operations-and-bindings.md: the eleven operations, the JSON-RPC, gRPC and HTTP+JSON mappings, service parameters, versioning and error codes. Load for step 3.references/tasks-messages-streaming.md: task states, messages, parts, artifacts, multi-turn rules, streaming, push notifications and in-task authorization. Load for steps 4 and 5.references/security.md: authentication, authorization scoping, extended card access, Agent Card signing and verification, push notification security. Load for steps 2 and 6.
Related skills
ap2for agent payments carried over A2A (intent, cart and payment mandates):npx skills add ScaleDockHQ/scaledock-skills --skill ap2.owasp-agenticfor reviewing inter-agent communication and delegated identity against the OWASP Top 10 for Agentic Applications:npx skills add ScaleDockHQ/scaledock-skills --skill owasp-agentic.ag-uifor the agent-to-user-interface event stream that complements A2A:npx skills add ScaleDockHQ/scaledock-skills --skill ag-ui.
Sources
Status uses the publishing body's own maturity term. Checked is the date the source was last read.
- Agent2Agent (A2A) Protocol Specification: Released, protocol version 1.0 (page banner "Latest Released Version 1.0.0"), checked 2026-10-02.
- A2A release v1.0.1: Released, v1.0.1 (2026-05-28), checked 2026-10-02.
- a2a.proto at v1.0.1: Released (normative data model), v1.0.1, checked 2026-10-02.
- A2A JSON Schema bundle: Released (non-normative, generated from the proto), schema version v1, checked 2026-10-02.
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- bks-lab/open-bridge★ 13same name
- CtriXin/agent-2-agent★ 9same name
- hajekim/agentic-design-patterns-skills★ 4same name
- tvaroska/skills★ 4same name
- 5dive-ai/openagent★ 2same name
- hajekim/agentic-design-patterns-extension★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository40 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- find-skillsSkill
- ag-uiSkill
- ap2Skill
- asyncapiSkill
- authzenSkill
- cedarSkill
- cloudeventsSkill
- eu-ai-actSkill
- fapiSkill
- gnapSkill
- jwtSkill
- mcp-authorizationSkill
- oauthSkill
- ocsfSkill
- openapi-arazzoSkill
- openapi-overlaySkill
- openapiSkill
- openfeatureSkill
- openid4vcSkill
- openid-connectSkill
- openid-federationSkill
- openidSkill
- opentelemetry-genaiSkill
- owasp-agenticSkill
- problem-detailsSkill
- ratelimit-headersSkill
- scaledock-agent-permissionsSkill
- scaledock-enterprise-identitySkill
- scaledock-http-apiSkill
- scaledock-mcp-serverSkill
- scaledock-repo-standardSkill
- scimSkill
- shared-signalsSkill
- spiffeSkill
- standard-schemaSkill
- typespecSkill
- web-bot-authSkill
- webmcpSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

