← Back to Skills Marketplace
nantes

A2a Protocol

by Ivan Cetta · GitHub ↗ · v1.0.1
cross-platform ✓ Security Clean
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
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install a2a-protocol
  3. After installation, invoke the skill by name or use /a2a-protocol
  4. 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
Slug a2a-protocol
Version 1.0.1
License
All-time Installs 4
Active Installs 4
Total Versions 2
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.

💬 Comments