Agent skill
a2a-setup
Scaffold a new A2A project — install the SDK, create directory structure, configure the Agent Card, and set up a basic server/client. Use when starting a new A2A multi-agent project from scratch.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/a2a-setup
SKILL.md
A2A Project Setup
Before writing code
Fetch live docs:
- Fetch
https://a2a-protocol.org/latest/specification/for the latest protocol overview - Web-search
site:github.com a2aproject a2a-python READMEora2aproject a2a-js READMEfor the target SDK's current installation and quickstart - Web-search
site:github.com a2aproject a2a-samplesfor official sample project structures - Fetch the SDK's PyPI/npm page for the latest version number
Conceptual Architecture
What Setup Involves
A2A project setup creates the foundation for a multi-agent system:
- Install the A2A SDK for your language (Python, JS/TS, Go, Java, .NET)
- Create directory structure — agent server, client, Agent Card, configuration
- Define the Agent Card — the discovery document describing your agent
- Create a minimal server — HTTP endpoint that handles JSON-RPC 2.0 A2A methods
- Create a minimal client — code to discover and call another A2A agent
Python Project Structure
my-a2a-agent/
├── agent_card.json # Agent Card (also served at /.well-known/agent-card.json)
├── server.py # A2A server entry point
├── client.py # A2A client for testing
├── agent/
│ ├── __init__.py
│ └── handler.py # Task processing logic
├── pyproject.toml # or requirements.txt
└── tests/
└── test_agent.py
JS/TS Project Structure
my-a2a-agent/
├── agent-card.json
├── src/
│ ├── server.ts # A2A server entry point
│ ├── client.ts # A2A client for testing
│ └── handler.ts # Task processing logic
├── package.json
├── tsconfig.json
└── tests/
└── agent.test.ts
Agent Card Skeleton
Every A2A agent needs an Agent Card. Minimal structure:
{
"name": "My Agent",
"description": "What this agent does",
"url": "http://localhost:8000",
"version": "1.0.0",
"protocolVersion": "0.2.1",
"capabilities": {
"streaming": false,
"pushNotifications": false,
"stateTransitionHistory": false
},
"skills": [
{
"id": "skill-1",
"name": "Skill Name",
"description": "What this skill does",
"tags": ["tag1", "tag2"],
"examples": ["Example input"]
}
],
"defaultInputModes": ["text/plain"],
"defaultOutputModes": ["text/plain"]
}
Key Setup Decisions
- Language/SDK — Python (
a2a-sdk), JS/TS (@a2a-js/sdk), Go, Java, .NET - HTTP framework — The SDK may provide a built-in server or integrate with frameworks (FastAPI, Express, etc.)
- Capabilities — Decide upfront: streaming? push notifications? state history?
- Authentication — None for local dev; API key or OAuth2 for production
- Agent Card hosting — Serve at
/.well-known/agent-card.jsonor via a registry
Best Practices
- Start with a minimal Agent Card and expand as you add skills
- Use the SDK's built-in server utilities rather than building raw JSON-RPC handling
- Keep the Agent Card in a separate file, loaded at server startup
- Add proper logging from the start — A2A debugging requires visibility into message flow
- Set up a test client alongside the server for rapid development
Fetch the SDK README for exact installation commands, class names, and quickstart code before scaffolding.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?