# A2a Protocol

> Agent2Agent (A2A) Protocol implementation - communicate with other AI agents

- Skill: `lord1egypt/a2a-protocol` (Agent Skill)
- Install (CLI): `npx skillmds@latest add lord1egypt/a2a-protocol`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lord1egypt/a2a-protocol/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Lord1Egypt (https://skillmd.com/u/lord1egypt)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/lord1egypt/a2a-protocol

---


# 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

```powershell
# Install Python dependencies
pip install requests sseclient-py
```

## Usage

### Register Your Agent

```powershell
.\a2a.ps1 -Action register -Name "MyAgent" -Description "Research agent" -Capabilities "research,analysis" -Endpoint "https://my-agent.com/a2a"
```

### Get Agent Card

```powershell
.\a2a.ps1 -Action card -AgentId "uuid-of-agent"
```

### Send Message

```powershell
.\a2a.ps1 -Action send -ToAgent "target-agent-uuid" -Content "Hello agent!"
```

### Submit Task

```powershell
.\a2a.ps1 -Action task -ToAgent "target-agent-uuid" -Task "Research quantum computing"
```

### Check Task Status

```powershell
.\a2a.ps1 -Action status -TaskId "task-uuid"
```

### List Remote Agents

```powershell
.\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

```python
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

