skills/a2a-multi-agent/SKILL.md
# Skill: A2A Multi-Agent Orchestration > Turn XActions into an A2A-compatible agent that can discover, communicate with, and delegate tasks to other AI agents using Google's Agent-to-Agent protocol. ## When to Use - User wants to connect XActions with external AI agents - User needs multi-agent orchestration (decompose → delegate → aggregate) - User asks about A2A protocol, agent cards, or inter-agent communication - User wants to run the A2A server or manage agent discovery - User needs real
npx skillsauth add nirholas/xactions skills/a2a-multi-agentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Turn XActions into an A2A-compatible agent that can discover, communicate with, and delegate tasks to other AI agents using Google's Agent-to-Agent protocol.
| File | Purpose |
|------|---------|
| src/a2a/types.js | Shared constants, factories, validators |
| src/a2a/skillRegistry.js | MCP tool → A2A skill bridge |
| src/a2a/agentCard.js | Agent Card generation (.well-known/agent.json) |
| src/a2a/taskManager.js | Task lifecycle (create, transition, execute) |
| src/a2a/bridge.js | A2A ↔ MCP translation layer + NLP |
| src/a2a/streaming.js | SSE streaming for real-time updates |
| src/a2a/push.js | Webhook push notifications |
| src/a2a/auth.js | API key + JWT inter-agent auth |
| src/a2a/discovery.js | Agent registry, skill matching, trust scoring |
| src/a2a/orchestrator.js | Task decomposer + delegator + orchestrator |
| src/a2a/server.js | Express HTTP server (port 3100) |
| src/a2a/index.js | Barrel export + CLI commands + factory |
| dashboard/a2a.html | Web dashboard for monitoring |
# Via CLI
xactions a2a start --port 3100
# Directly
node src/a2a/server.js
# With session cookie for browser automation
node src/a2a/server.js --cookie "YOUR_X_SESSION_COOKIE"
curl http://localhost:3100/a2a/health
curl http://localhost:3100/.well-known/agent.json
curl -X POST http://localhost:3100/a2a/tasks \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tasks/send",
"params": {
"message": {
"role": "user",
"parts": [{"type": "text", "text": "get profile for @nichxbt"}]
}
},
"id": "1"
}'
xactions a2a discover https://other-agent.example.com
xactions a2a skills
xactions a2a skills --query "scrape"
┌─────────────────────────────────────────────────────┐
│ A2A Protocol Layer │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ Agent │ │ Task │ │ Streaming / │ │
│ │ Card │ │ Manager │ │ Push Notify │ │
│ └────┬─────┘ └────┬─────┘ └────────┬─────────┘ │
│ │ │ │ │
│ ┌────┴──────────────┴─────────────────┴──────────┐ │
│ │ HTTP Server (Express) │ │
│ └────────────────────┬────────────────────────────┘ │
│ │ │
│ ┌────────────────────┴────────────────────────────┐ │
│ │ Bridge (A2A ↔ MCP Translation) │ │
│ └────────────────────┬────────────────────────────┘ │
│ │ │
│ ┌────────────────────┴────────────────────────────┐ │
│ │ Skill Registry (140+ tools) │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────┐ ┌────────────┐ ┌──────────────┐ │
│ │ Discovery │ │ Auth │ │ Orchestrator │ │
│ │ + Trust │ │ (JWT/Key) │ │ (Decompose) │ │
│ └─────────────┘ └────────────┘ └──────────────┘ │
└──────────────────────────────────────────────────────┘
Every A2A agent publishes a JSON document at /.well-known/agent.json describing its capabilities, skills, and supported protocols.
XActions converts its 140+ MCP tools into A2A skills, each with a unique ID (xactions.<tool_name>), description, input schema, and category tags.
submitted → working → completed
→ failed
→ canceled
→ input-required → working
Remote agents are scored 0-100 based on success ratio (40%), longevity (20%), recency (20%), and volume (20%).
Complex natural-language tasks are automatically broken into ordered sub-tasks with dependency tracking ($step1, $step2.field).
| Method | Path | Description |
|--------|------|-------------|
| GET | /.well-known/agent.json | Agent Card |
| POST | /a2a/tasks | Create task (tasks/send or tasks/sendSubscribe) |
| GET | /a2a/tasks/:id | Get task |
| POST | /a2a/tasks/:id/cancel | Cancel task |
| GET | /a2a/tasks/:id/stream | SSE stream |
| POST | /a2a/tasks/:id/message | Push notification |
| GET | /a2a/health | Health check |
| GET | /a2a/skills | List skills |
| POST | /a2a/orchestrate | Execute orchestrated task |
| POST | /a2a/orchestrate/plan | Get execution plan |
| GET | /a2a/agents | List discovered agents |
| POST | /a2a/agents/discover | Discover remote agents |
xactions a2a start [--port] [--cookie] [--no-auth]
xactions a2a status [--url]
xactions a2a skills [--query]
xactions a2a agents [--url]
xactions a2a discover <url>
xactions a2a task "<description>"
tools
Free MCP server providing 68+ tools for AI agents to automate X/Twitter. Scrapes profiles, followers, tweets. Posts, follows, likes, retweets, downloads videos, analyzes sentiment, monitors brands, manages DMs, runs workflows, and more. Uses local Puppeteer -- no API keys or payments required. Compatible with Claude Desktop, Cursor, Windsurf, VS Code. Use when setting up or using AI agent Twitter automation via MCP.
tools
Command-line interface for scraping X/Twitter data, managing MCP server config, and running automation. Scrapes profiles, followers, tweets, search results, and more from terminal. Outputs text, JSON, or CSV. Uses Puppeteer stealth. Use when running Twitter operations from command line or automated pipelines.
development
Enable and integrate x402 crypto payment protocol for XActions API access. Supports multi-chain, multi-token payments for pay-per-use API calls. Use when users want to pay for XActions operations with crypto or integrate x402 into their own agent/app.
tools
Navigate to X Pro (TweetDeck), set up monitoring columns, and manage multi-column view. Use when users want to use X Pro / TweetDeck features or set up a multi-column dashboard.