omni-agents-a2a
diegosouzapw/OmniRoute/skills/omni-agents-a2a/SKILL.md
Interact with OmniRoute via JSON-RPC 2.0 agent-to-agent protocol. 6 built-in A2A skills: smart-routing, quota-management, provider-discovery, cost-analysis, health-report, list-capabilities.
Skill71k starsChanged 12 days ago
- Reads credentials
- Sends data out
---
name: omni-agents-a2a
description: "Interact with OmniRoute via JSON-RPC 2.0 agent-to-agent protocol. 6 built-in A2A skills: smart-routing, quota-management, provider-discovery, cost-analysis, health-report, list-capabilities."
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Overview
Interact with OmniRoute via JSON-RPC 2.0 agent-to-agent protocol. 6 built-in A2A skills: smart-routing, quota-management, provider-discovery, cost-analysis, health-report, list-capabilities.
## Authentication
All requests require a valid Bearer token or session cookie. Obtain a token via `POST /api/auth/login` or configure `REQUIRE_API_KEY=false` for local development.
## Endpoints
_No endpoints mapped for this area yet._
## Payloads
See the full OpenAPI specification at `GET /api/openapi/spec` or `docs/openapi.yaml` for detailed request/response schemas.
<!-- skill:custom-start -->
<!-- Migrated from skills/omniroute-a2a/SKILL.md (preserved curated content) -->
# OmniRoute — A2A Protocol
Requires `OMNIROUTE_URL` and `OMNIROUTE_KEY`. See [entry-point SKILL](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute/SKILL.md) for setup.
OmniRoute publishes an Agent Card at `/.well-known/agent.json` and accepts
JSON-RPC 2.0 calls at `/a2a`.
## Discovery
```bash
curl $OMNIROUTE_URL/.well-known/agent.json
```
Returns Agent Card with skills, endpoints, auth scheme.
## Available skills
| Skill | Purpose |
| -------------------- | ----------------------------------------------------------------------------------- |
| `smart-routing` | Given a prompt, recommends best provider/model combo |
| `quota-management` | Reports quota balance for given provider/account |
| `provider-discovery` | Lists providers matching capability filters (vision, JSON mode, tools, max-context) |
| `cost-analysis` | Estimates cost for a given request shape |
| `health-report` | Returns system health (circuit states, latencies, errors) |
## Call example (JSON-RPC 2.0)
```bash
curl -X POST $OMNIROUTE_URL/a2a \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tasks/send",
"params": {
"skillId": "smart-routing",
"input": { "prompt_length": 4000, "tools": true, "vision": false }
},
"id": 1
}'
```
## Response shape
```json
{
"jsonrpc": "2.0",
"result": {
"taskId": "...",
"status": "completed",
"output": { "recommended_combo": "...", "reasoning": "..." }
},
"id": 1
}
```
## Errors
- `-32600` → invalid request (bad JSON-RPC envelope)
- `-32601` → method not found (check `method` field)
- `-32602` → invalid params (check `skillId` against Agent Card)
- `401` → missing/invalid `OMNIROUTE_KEY`
## Reference
Full docs: https://github.com/diegosouzapw/OmniRoute/blob/main/docs/frameworks/A2A-SERVER.md
<!-- skill:custom-end -->
Discussion
Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.
Posts are public.Sign in to post
No one has posted yet. Be the first.

