/a2a-multi-agent
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.
$ npx -y skills add nirholas/XActions --skill a2a-multi-agent --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/a2a-multi-agent
Context preview
The summary Claude sees to decide when to auto-load this skill.
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.
SKILL.md
a2a-multi-agent.SKILL.mdSkill: 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-time task streaming between agents
Files
| 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 |
Quick Start
Start the A2A server
# Via CLI
node src/a2a/server.js
# Directly
node src/a2a/server.js
# With session cookie for browser automation
node src/a2a/server.js --cookie "YOUR_X_SESSION_COOKIE"
Check health
curl http://localhost:3100/a2a/health
View Agent Card
curl http://localhost:3100/.well-known/agent.json
Send a task
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"
}'Discover an agent
curl -X POST http://localhost:3100/a2a/agents/discover \
-H 'Content-Type: application/json' \
-d '{"url": "https://other-agent.example.com"}'List skills
curl http://localhost:3100/a2a/skills
curl 'http://localhost:3100/a2a/skills?query=scrape'
Architecture
┌─────────────────────────────────────────────────────┐
│ 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) │ │
│ └─────────────┘ └────────────┘ └──────────────┘ │
└──────────────────────────────────────────────────────┘
Key Concepts
Agent Card
Every A2A agent publishes a JSON document at `/.well-known/agent.json` describing its capabilities, skills, and supported protocols.
Skills
XActions converts its 145 MCP tools into A2A skills, each with a unique ID (`xactions.<tool_name>`), description, input schema, and category tags.
Task Lifecycle
submitted → working → completed
→ failed
→ canceled
→ input-required → workingTrust Scoring
Remote agents are scored 0-100 based on success ratio (40%), longevity (20%), recency (20%), and volume (20%).
Task Decomposition
Complex natural-language tasks are automatically broken into ordered sub-tasks with dependency tracking (`$step1`, `$step2.field`).
Endpoints
| 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 |
Running and driving the server
The CLI has no A2A subcommand. The A2A agent is an HTTP server, and every operation is one of the endpoints in the table above.
# Start it (defaults to port 3100)
node src/a2a/server.js
# Or on another port, with a session attached
A2A_PORT=3200 XACTIONS_SESSION_COOKIE=your_auth_token node src/a2a/server.js
# Is it up?
curl http://localhost:3100/a2a/health
# What can it do?
curl http://localhost:3100/.well-known/agent.json
curl 'http://localhost:3100/a2a/skills?query=scrape'
# Which other agents does it know about?
curl http://localhost:3100/a2a/agents
# Give it a task
curl -X POST http://localhost:3100/a2a/orchestrate \
-H 'Content-Type: application/jso
Read more
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-time task streaming between agents
Files
| 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 |
Quick Start
Start the A2A server
# Via CLI node src/a2a/server.js # Directly node src/a2a/server.js # With session cookie for browser automation node src/a2a/server.js --cookie "YOUR_X_SESSION_COOKIE"
Check health
curl http://localhost:3100/a2a/health
View Agent Card
curl http://localhost:3100/.well-known/agent.json
Send a task
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"
}'Discover an agent
curl -X POST http://localhost:3100/a2a/agents/discover \
-H 'Content-Type: application/json' \
-d '{"url": "https://other-agent.example.com"}'List skills
curl http://localhost:3100/a2a/skills curl 'http://localhost:3100/a2a/skills?query=scrape'
Architecture
┌─────────────────────────────────────────────────────┐ │ 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) │ │ │ └─────────────┘ └────────────┘ └──────────────┘ │ └──────────────────────────────────────────────────────┘
Key Concepts
Agent Card
Every A2A agent publishes a JSON document at `/.well-known/agent.json` describing its capabilities, skills, and supported protocols.
Skills
XActions converts its 145 MCP tools into A2A skills, each with a unique ID (`xactions.<tool_name>`), description, input schema, and category tags.
Task Lifecycle
submitted → working → completed
→ failed
→ canceled
→ input-required → workingTrust Scoring
Remote agents are scored 0-100 based on success ratio (40%), longevity (20%), recency (20%), and volume (20%).
Task Decomposition
Complex natural-language tasks are automatically broken into ordered sub-tasks with dependency tracking (`$step1`, `$step2.field`).
Endpoints
| 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 |
Running and driving the server
The CLI has no A2A subcommand. The A2A agent is an HTTP server, and every operation is one of the endpoints in the table above.
# Start it (defaults to port 3100) node src/a2a/server.js # Or on another port, with a session attached A2A_PORT=3200 XACTIONS_SESSION_COOKIE=your_auth_token node src/a2a/server.js
# Is it up? curl http://localhost:3100/a2a/health # What can it do? curl http://localhost:3100/.well-known/agent.json curl 'http://localhost:3100/a2a/skills?query=scrape' # Which other agents does it know about? curl http://localhost:3100/a2a/agents # Give it a task curl -X POST http://localhost:3100/a2a/orchestrate \ -H 'Content-Type: application/jso
⚡ The Complete X/Twitter Automation Toolkit — Scrapers, MCP server for AI agents (Claude/GPT), CLI, browser scripts. No API fees. Open source. Unfollow people who don't follow back. Monitor real-time analytics. Auto follow, like, comment, scrape, without API. Follow Bot. Like bot. Grow your account automatically.
Repo: nirholas/XActions
Other skills on xactions.
- /account-backup
Export and backup your X/Twitter account data — tweets, likes, bookmarks, followers, and following — as downloadable JSON. Also triggers X's official data archive download. Use when users want to backup, export, or archive their X account data.
Open skill - /account-tools
Miscellaneous account utilities — view join date, login history, connected accounts, appeal suspension, QR code sharing, share/embed tweets, upload contacts, and calculate account age. Use when users need account info tools not covered by other skills.
Open skill - /algorithm-cultivation
Trains an X/Twitter account's algorithmic feed to surface niche-relevant content and positions the account as a thought leader. Browser scripts for manual operation, Persona Engine for identity management, and 24/7 Algorithm Builder with LLM-powered engagement via Puppeteer. Use
Open skill - /analytics-insights
Analyze X/Twitter engagement, hashtags, competitors, best posting times, follower demographics, tweet performance, viral detection, content calendar gaps, A/B testing, and engagement leaderboards. Browser console scripts for data-driven X optimization. Use when users want
Open skill - /articles-longform
Compose, preview, publish, and manage long-form Articles on X/Twitter. Premium+ feature. Includes article creation, formatting, media insertion, and performance tracking. Use when users want to write, publish, manage, or analyze X Articles.
Open skill - /billing-management
Manage XActions subscriptions and billing — view plans, start a Stripe checkout, open the billing portal, or cancel a subscription. Use when users want to upgrade, downgrade, or manage their XActions subscription.
Open skill

