a2a-protocol

Implements A2A JSON-RPC agent delegation with PingOne bearer authentication and RFC 8693 token exchange.

1|Updated Jun 25, 2026
One-click install
npx skills add https://github.com/curtismu7/AI-DEMO2 --skill a2a-protocol-curtismu7
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: a2a-protocol
Source: https://github.com/curtismu7/AI-DEMO2/tree/main/.claude/skills/a2a-protocol
Command: npx skills add https://github.com/curtismu7/AI-DEMO2 --skill a2a-protocol-curtismu7

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @a2a-js/sdk.

What problem does it solve? It prevents confusion between two distinct layers both called "A2A" — the PingOne RFC 8693 nested-act identity chain and the Linux Foundation A2A wire protocol — and enforces correct implementation of agent-to-agent delegation in UC2/UC2.5 use cases. ## Core Features & Use Cases - Dual-layer separation: Distinguishes the PingOne nested-act identity layer from the A2A wire protocol (Agent Card discovery + JSON-RPC SendMessage) so changes never collapse them. - PingOne bearer auth on the A2A hop: Enforces PingOne-issued bearer tokens (never Keycloak, never client_credentials) so the wire hop proves the delegating user via the Exchange #1 delegated token. - Agent Card and JSON-RPC endpoints: Mounts an Agent Card and JSON-RPC handler for every specialist in config/a2aSpecialists.js using the @a2a-js/sdk. - Use Case: When updating UC2 delegation or Learning Hub A2A copy, apply these rules to keep the wire protocol, token chain events, and education panel consistent. ## Quick Start Ask the agent to update the UC2 A2A delegation handoff while keeping the PingOne bearer auth and nested-act token exchange intact.

Frequently Asked Questions about a2a-protocol

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement A2A protocol agent delegation with PingOne?▼

Mint a PingOne bearer token via RFC 8693 token exchange, then use the @a2a-js/sdk client to call SendMessage against the specialist's JSON-RPC endpoint. The specialist discovers peers through Agent Cards at /.well-known/agent-card.json.

What is the difference between RFC 8693 token exchange and the A2A wire protocol?▼

RFC 8693 nested-act tokens prove identity delegation through PingOne, while the A2A wire protocol defines Agent Card discovery and JSON-RPC message exchange between agents. They are separate layers that must not be conflated.

Can I use client_credentials tokens for A2A agent handoff?▼

No. The A2A wire hop must carry the Exchange #1 delegated token with the user as sub and the generalist agent as act. A client_credentials token proves no user identity and breaks the delegation chain.

Does the A2A handoff work over HTTP or only in-process?▼

UC2 handoff defaults to in-process @a2a-js/sdk sendMessage to avoid loopback TLS issues with the HTTPS BFF. Set A2A_PROTOCOL_HTTP=1 or pass protocolBaseUrl to force the HTTP client path.

When should the A2A protocol handoff not run?▼

Only run protocol handoff for UC2 and UC2.5 delegation use cases. Never invoke it on ordinary agent runs, and do not break session cookie auth on /api/* or non-A2A agent frameworks.