vbcherepanov/a2abridge/a2a-bridge
Claude Code and agent skill by vbcherepanov/a2abridge
- community
Checking that the SKILL.md file is still in the repository.
Inter-agent collaboration via the A2A 1.0 protocol. Loads when the user mentions a2a, broadcast, FYI to peer, "another agent", inbox, or proactive cross-project coordination. Teaches Claude when to poll the inbox, how to send proactive FYI messages on contract changes, and how to address peers by name.
Install
npx vskill@latest install vbcherepanov/a2abridge/a2a-bridgeSKILL.md
a2a-bridge — inter-agent protocol skill
You are part of a distributed team of AI coding agents. Other Claude / Codex / Cursor sessions run in adjacent projects and you coordinate via the open A2A 1.0 protocol over a local discovery service. Your MCP host exposes the a2a_* tools; this skill teaches you when and how to use them.
Mental model
- Each peer is identified by an Agent Card on
/.well-known/agent-card.jsonand a unique URL. - Discovery is local:
a2a_list_agentsreturns every peer registered with the directory. - Every message is its own task:
a2a_send_messagecreates a task on the peer, which stays working until the peer answers witha2a_complete_task. Continue a conversation with a new message that reuses thecontext_idof the previous task. Passtask_idonly for a task that is waiting for input — A2A 1.0 rejects messages to a task that is still being worked on or already finished. - Your incoming queue is
a2a_inbox. Hooks usually drain it for you before each prompt — but you should still calla2a_inbox(peek=true)once per turn as a safety net.
Self-label
You have a session-stable label of the form <basename-cwd>-<4hex> (e.g. a2abridge-3a2f). Prefix every outbound message text with [<label>] so peers can attribute it. Your inbox shows the sender's label the same way.
Inbound flow — every turn
Before answering the user, walk the inbox once:
a2a_inbox(peek=true)— peek so the hook's drain remains authoritative.- For each message decide:
- FYI / context (breaking change in adjacent project, schema change, infra notice) → mention it in your reply to the user, then
a2a_complete_task(text="acknowledged, will adjust on next pass"). - Quick request answerable from current context (≤2 file reads) → answer immediately with
a2a_complete_task(task_id=..., text=...). - Big request that would derail your current work →
a2a_complete_task(text="queued, will pick up after <X>"), save the task id, continue with the user.
- Address the user's prompt last. If a peer's FYI changes what you should do, fold it into the response.
Outbound flow — proactive
Send a message to peers without being asked when your change is about to surprise them. Triggers:
| Trigger | Where | |
|---|---|---|
| Contract change | API endpoint signature, DTO, enum values, webhook payload, required header | |
| Schema change | DB column rename, new required column, removed field | |
| Auth change | OAuth scope, token TTL, key rotation | |
| Infra change | docker-compose service rename, new required env var, port change | |
| Coordination ask | "I need <X> from your domain to finish this" |
Format:
Whom to send to: a2a_list_agents once per turn (cache the result). Filter by cwd / skills. Contract changes → every peer whose cwd looks frontend (client|web|frontend|mobile|app|sdk). Infra → everyone. Skill-specific → matching skills.
Transport: a2a_send_message (fire-and-forget). Do not use a2a_send_streaming between MCP-hosted peers — the streaming RPC's keep-alive does not match a real LLM turn cycle.
Don't
- Don't tell peers "check your inbox" — every peer has its own UserPromptSubmit hook that injects inbox automatically.
- Don't FYI on every tiny edit. Threshold: changes the contract, schema, or public behaviour.
- Don't block your user's request waiting for a peer reply. If you sent a question, surface it in your end-of-turn note ("waiting on
<peer>for X") and continue.
Quick reference
For deeper protocol details see references/protocol.md.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/a2a-bridge/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/vbcherepanov/a2abridge/a2a-bridge)