← Back to Skills Marketplace
A2a Protocol
by
Ivan Cetta
· GitHub ↗
· v1.0.1
875
Downloads
0
Stars
4
Active Installs
2
Versions
Install in OpenClaw
/install a2a-protocol
Description
Agent2Agent (A2A) Protocol implementation - communicate with other AI agents
README (SKILL.md)
A2A Protocol Skill
Implementation of the Agent2Agent (A2A) Protocol for inter-agent communication.
What it does
- Agent Discovery via Agent Cards
- Send Messages to remote agents
- Task Management (submit, check status, get results)
- Streaming via Server-Sent Events (SSE)
- Authentication support (API keys, Bearer tokens)
Installation
# Install Python dependencies
pip install requests sseclient-py
Usage
Register Your Agent
.\a2a.ps1 -Action register -Name "MyAgent" -Description "Research agent" -Capabilities "research,analysis" -Endpoint "https://my-agent.com/a2a"
Get Agent Card
.\a2a.ps1 -Action card -AgentId "uuid-of-agent"
Send Message
.\a2a.ps1 -Action send -ToAgent "target-agent-uuid" -Content "Hello agent!"
Submit Task
.\a2a.ps1 -Action task -ToAgent "target-agent-uuid" -Task "Research quantum computing"
Check Task Status
.\a2a.ps1 -Action status -TaskId "task-uuid"
List Remote Agents
.\a2a.ps1 -Action list -RegistryUrl "https://registry.agentlink.io"
A2A Concepts
- Agent Card: JSON describing agent capabilities (name, endpoint, methods)
- Client Agent: Agent that sends tasks
- Remote Agent: Agent that receives and processes tasks
- Task: Work request with ID, status, and result
- Message: Direct communication between agents
API Reference
POST /a2a/agents/register - Register agent
GET /a2a/agents/{id} - Get agent info
GET /a2a/agents/{id}/card - Get Agent Card
POST /a2a/messages - Send message
POST /a2a/tasks - Submit task
GET /a2a/tasks/{id} - Get task status
GET /a2a/tasks/{id}/result - Get task result
Examples
Python Usage
from a2a import A2AClient
client = A2AClient("https://remote-agent.com/a2a", api_key="your-key")
# Send message
client.send_message("target-agent-id", "Hello!")
# Submit task
task_id = client.submit_task("target-agent-id", "Do X")
result = client.get_result(task_id)
Requirements
- Python 3.8+
- requests library
- sseclient-py (for streaming)
License
MIT
Usage Guidance
This skill's code matches its stated purpose (an HTTP client for an A2A registry) but the docs contain small inconsistencies: examples reference a missing PowerShell script and mention SSE support that the provided Python file does not implement. Before installing or using it: 1) Inspect the a2a_client.py file locally (you already have it) and confirm it behaves as expected. 2) Be cautious about the registry URL you point it at (default is localhost); pointing it at an untrusted remote registry can expose the agent to arbitrary tasks and data exchange. 3) Do not supply sensitive long-lived credentials unless you trust the remote agent network; the api_key is sent as a Bearer token. 4) If you need SSE or PowerShell tooling, request the missing artifacts or use a vetted implementation. If anything feels off, run the client in a sandboxed environment or ask the publisher for source/origin and a signed release.
Capability Analysis
Type: OpenClaw Skill
Name: a2a-protocol
Version: 1.0.1
The skill bundle implements an Agent2Agent (A2A) Protocol client. The `a2a_client.py` script uses the `requests` library to perform standard HTTP communications (registering agents, sending messages, submitting tasks) to a user-specified registry URL. It uses an API key for authentication via a Bearer token, which is standard practice. There is no evidence of data exfiltration, malicious execution, persistence mechanisms, or prompt injection attempts in `SKILL.md`. All network interactions are directly related to the stated purpose of inter-agent communication, with user-provided inputs determining the target endpoints and content.
Capability Assessment
Purpose & Capability
The code (a2a_client.py) implements agent discovery, messaging, tasks and registry interaction over HTTP which matches the skill's stated purpose. Minor mismatch: SKILL.md examples call a PowerShell script (a2a.ps1) that is not included; the shipped implementation is a Python CLI. Metadata references a homepage but source is unknown.
Instruction Scope
Runtime instructions only perform network operations against an A2A registry (default http://localhost:8000). The SKILL.md does not instruct reading of local files, environment secrets, or unrelated system paths. Documentation mentions SSE/streaming and sseclient-py, but the provided Python client does not implement SSE handling.
Install Mechanism
There is no install spec; SKILL.md suggests installing Python packages (requests, sseclient-py). This is a normal, low-risk instruction-only install pattern. The packages referenced are standard public packages; however sseclient-py is suggested but not used in included code.
Credentials
The skill requests no environment variables and only optionally accepts an API key at runtime (used to set a Bearer Authorization header). That is proportionate to a network client; no unrelated credentials or config paths are requested.
Persistence & Privilege
The skill does not request persistent presence (always:false) and does not modify other skills or system settings. It runs as an ordinary client library/CLI.
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install a2a-protocol - After installation, invoke the skill by name or use
/a2a-protocol - Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
Force rescan - verified working
v1.0.0
Initial release of the a2a-protocol skill.
- Implements the Agent2Agent (A2A) Protocol for inter-agent communication.
- Supports agent registration, agent discovery (Agent Cards), and listing via remote registries.
- Enables sending messages and task management (submit, check status, retrieve results).
- Provides streaming task updates via Server-Sent Events (SSE).
- Includes authentication support (API keys, Bearer tokens).
- Comes with Python and command-line usage instructions.
Metadata
Frequently Asked Questions
What is A2a Protocol?
Agent2Agent (A2A) Protocol implementation - communicate with other AI agents. It is an AI Agent Skill for Claude Code / OpenClaw, with 875 downloads so far.
How do I install A2a Protocol?
Run "/install a2a-protocol" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is A2a Protocol free?
Yes, A2a Protocol is completely free (open-source). You can download, install and use it at no cost.
Which platforms does A2a Protocol support?
A2a Protocol is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created A2a Protocol?
It is built and maintained by Ivan Cetta (@nantes); the current version is v1.0.1.
More Skills