win4r/openclaw-a2a-gateway/skill
Claude Code and agent skill by win4r/openclaw-a2a-gateway
- community
Checking that the SKILL.md file is still in the repository.
Install and configure the OpenClaw A2A Gateway plugin for cross-server agent communication. Use when: (1) setting up A2A between two or more OpenClaw instances, (2) user says 'configure A2A', 'set up A2A gateway', 'connect two OpenClaw servers', 'agent-to-agent communication', (3) adding a new A2A peer to an existing setup. Covers: plugin installation, Agent Card configuration, security tokens, peer registration, network setup (Tailscale/LAN), TOOLS.md template for agent awareness, and end-to-end verification.
Install
npx vskill@latest install win4r/openclaw-a2a-gateway/skillSKILL.md
A2A Gateway Setup
Configure the OpenClaw A2A Gateway plugin for cross-server agent-to-agent communication using the A2A v0.3.0 protocol.
Prerequisites
- OpenClaw ≥ 2026.3.0 installed and running on each server
- Network connectivity between servers (Tailscale recommended, LAN or public IP also work)
- Node.js ≥ 22
Step 1: Install the Plugin
Replace <WORKSPACE> with the agent workspace path. Find it with:
Step 2: Register Plugin in OpenClaw
Get current allowed plugins first to avoid overwriting:
Then add a2a-gateway to the existing array (do NOT drop existing plugin ids):
Critical: Use the absolute path in plugins.load.paths. Relative paths will fail.
Step 3: Configure Agent Card
URL field rules
| Field | Points to | Example | |
|---|---|---|---|
agentCard.url | JSON-RPC endpoint (default) | http://100.x.x.x:18800/a2a/jsonrpc | |
peers[].agentCardUrl | Agent Card discovery (preferred) | http://100.x.x.x:18800/.well-known/agent-card.json |
Do NOT confuse these two. agentCard.url tells peers where to send messages. agentCardUrl tells you where to discover the peer.
Note: this plugin also serves the legacy alias /.well-known/agent.json, but the official SDK default is /.well-known/agent-card.json.
Step 4: Configure Server
Step 5: Configure Security
Share this token with peers who need to send you messages.
Step 6: Configure Routing
For a concrete peer-skills route, read docs/SOCIAL-AUTOMATION-ROUTING.md. It shows how to route X/Twitter prompts to a TweetClaw-enabled peer while keeping credentials on that peer.
Step 7: Add Peers
For multiple peers, include all in one JSON array.
Step 8: Restart and Verify
Step 9: Configure TOOLS.md
This step is critical. Without it, the agent won't know how to use A2A.
Read references/tools-md-template.md and append the A2A section to the agent's TOOLS.md, replacing placeholders with actual peer info.
For outbound messaging, use the SDK script (scripts/a2a-send.mjs).
To use the SDK script, ensure @a2a-js/sdk is installed in the plugin directory:
Step 10: End-to-End Test
The script uses @a2a-js/sdk ClientFactory to auto-discover the Agent Card, handle authentication, and print the peer agent's response.
Async task mode (recommended for long-running prompts)
For prompts that may take longer than a typical request timeout (e.g., multi-round discussions, long summaries), use non-blocking mode + polling:
This sends configuration.blocking=false and then polls tasks/get until the task reaches a terminal state.
Server-side timeout configuration (OpenClaw dispatch)
If you still see Request accepted (no agent dispatch available), the underlying OpenClaw agent run may be timing out. Increase:
plugins.entries.a2a-gateway.config.timeouts.agentResponseTimeoutMs(default: 300000)
Optional: Route to a specific OpenClaw agentId (OpenClaw extension)
By default, the peer will route inbound A2A messages to routing.defaultAgentId.
To route a single request to a specific agentId (e.g., coder) on the peer, pass --agent-id:
Note: this uses a non-standard message.agentId field understood by the OpenClaw A2A Gateway plugin. It is most reliable over JSON-RPC/REST. gRPC transport may drop unknown Message fields.
Network: Tailscale Setup (if needed)
When servers are on different networks, use Tailscale:
Use Tailscale IPs in all A2A configuration. Verify with:
Mutual Peering Checklist
For two-way communication, repeat Steps 1-9 on BOTH servers:
- [ ] Server A: plugin installed, Agent Card configured, token generated
- [ ] Server B: plugin installed, Agent Card configured, token generated
- [ ] Server A: has Server B in peers (with B's token)
- [ ] Server B: has Server A in peers (with A's token)
- [ ] Server A: TOOLS.md updated with Server B peer info
- [ ] Server B: TOOLS.md updated with Server A peer info
- [ ] Both:
openclaw gateway restartdone - [ ] Both: Agent Cards accessible (
curl /.well-known/agent-card.json) - [ ] Test: A → B message/send works
- [ ] Test: B → A message/send works
Troubleshooting
| Symptom | Cause | Fix | |
|---|---|---|---|
| "no agent dispatch available" | (1) No AI provider configured, or (2) OpenClaw agent dispatch timed out | Check openclaw config get auth.profiles; for long prompts use async mode (--non-blocking --wait) or increase config.timeouts.agentResponseTimeoutMs | |
| "plugin not found: a2a-gateway" | Load path missing or wrong | Verify plugins.load.paths uses absolute path | |
| Agent Card 404 | Plugin not loaded | Check plugins.allow includes a2a-gateway | |
| Port 18800 connection refused | Gateway not restarted | Run openclaw gateway restart | |
| Peer auth fails | Token mismatch | Verify peer config token matches target's security.token | |
| Agent doesn't know about A2A | TOOLS.md not configured | Add A2A section from the template (Step 9) |
Security
- Security scanPassed, 95 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 repositoryCheckingskill/SKILL.md
Popularity
- Repository stars
- 519
- Repository forks
- 101
- Repository npm downloads, 7 days
- 12
- 7-day trend score
- 40
Stars and forks are for the whole GitHub repository, not this skill alone. Downloads are for the repository's npm package. Refreshed 4 Oct 2026, 28 days ago.
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/win4r/openclaw-a2a-gateway/skill)