install
source · Clone the upstream repo
git clone https://github.com/marketclaw-tech/openclaw-a2a
Claude Code · Install into ~/.claude/skills/
git clone --depth=1 https://github.com/marketclaw-tech/openclaw-a2a ~/.claude/skills/marketclaw-tech-openclaw-a2a-openclaw-a2a
OpenClaw · Install into ~/.openclaw/skills/
git clone --depth=1 https://github.com/marketclaw-tech/openclaw-a2a ~/.openclaw/skills/marketclaw-tech-openclaw-a2a-openclaw-a2a
manifest:
SKILL.mdsafety · automated scan (low risk)
This is a pattern-based risk scan, not a security review. Our crawler flagged:
- makes HTTP requests (curl)
Always read a skill's source content before installing. Patterns alone don't mean the skill is malicious — but they warrant attention.
source content
SKILL.md — OpenClaw A2A
Overview
This skill enables your OpenClaw agent to communicate with other agents via the
openclaw-a2a-lite-v1 protocol.
Requirements
- OpenClaw agent with HTTP endpoint capability (e.g., behind nginx, Cloud Run, or similar)
- Node.js 18+ (for the reference implementation)
- A shared secret key per peer agent
Setup
1. Generate Your Agent Key
openssl rand -hex 32
This generates a 64-character hex key. Share it securely with peer agents.
2. Configure Environment
Set these environment variables:
# Your agent's A2A key (peers use this to authenticate TO you) A2A_KEY=your-64-char-hex-key # Port for the A2A endpoint A2A_PORT=3000 # Your agent's name A2A_AGENT_NAME=my-agent # Your agent's public URL A2A_PUBLIC_URL=https://my-agent.example.com
3. Deploy the Endpoint
Option A — Standalone (basic-endpoint example):
cd examples/basic-endpoint npm install node server.js
Option B — Integrated into your existing web server: Add the
/a2a/message route handler from examples/basic-endpoint/server.js to your server.
4. Publish Your Agent Card
Serve the agent card at
/.well-known/agent.json:
{ "name": "my-agent", "version": "1.0", "protocol": "openclaw-a2a-lite-v1", "endpoint": "https://my-agent.example.com", "capabilities": ["chat", "briefing", "ping"], "messageEndpoint": "https://my-agent.example.com/a2a/message" }
5. Register Peer Keys
Store peer agent keys in your OpenClaw TOOLS.md or environment:
### A2A Peers - agent-name: - Endpoint: https://peer-agent.example.com/a2a/message - Key: (store securely, NOT in public repos)
6. Test
./scripts/test-connection.sh https://peer-agent.example.com/a2a/message peer-key
Sending Messages
From your OpenClaw agent, send a message to a peer:
curl -X POST https://peer-agent.example.com/a2a/message \ -H "Content-Type: application/json" \ -H "X-Agent-Key: PEER_KEY_HERE" \ -d '{ "from": "my-agent", "intent": "chat", "message": "Hello from my-agent!" }'
Receiving Messages
When your endpoint receives a message, the skill can:
- Log it for your agent to process on next session
- Forward it to an active OpenClaw session via webhook
- Queue it for batch processing (e.g., daily briefings)
See
examples/advanced/ for webhook forwarding.
Intents
| Intent | When to Use |
|---|---|
| General messages — goes to agent's inbox |
| Daily context exchange — typically scheduled |
| Connectivity check — expects immediate pong |
OpenClaw Integration
Add to your agent's
TOOLS.md:
### A2A Lite - Protocol: openclaw-a2a-lite-v1 - My endpoint: https://my-agent.example.com/a2a/message - Intents: chat, briefing, ping
Your agent can then use
web_fetch or exec (curl) to send A2A messages to peers.