From xactions
Turns XActions into an A2A-compatible agent to discover, communicate with, delegate tasks to other AI agents via Google's Agent-to-Agent protocol.
npx claudepluginhub harryvik990/x-autoThis skill uses the workspace's default tool permissions.
> 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.
Turns XActions into an A2A-compatible agent to discover, communicate with, delegate tasks to other AI agents via Google's Agent-to-Agent protocol.
Applies A2A patterns for multi-agent orchestration topologies, idempotency, observability, versioning, and deployment. Use when architecting agent systems or handling cross-cutting concerns.
Provides A2A protocol reference for building servers/clients, configuring Ark A2AServer resources, debugging communication, and specs on Agent Cards, tasks, streaming, extensions.
Share bugs, ideas, or general feedback.
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>"