OmniRoute Agent Skills Catalog
Source of truth:
src/lib/agentSkills/(catalog, generator, parsers) +skills/directory (SKILL.md files) Last updated: 2026-08-02 — v3.8.50
Agent Skills are structured SKILL.md files that teach external agents, MCP clients, and A2A orchestrators how to use OmniRoute’s REST API and CLI. Unlike Omni Skills (which are LLM tool definitions executed inside OmniRoute), Agent Skills are a documentation catalog — static markdown that can be fed directly into agent context.
Overview
Section titled “Overview”The catalog contains 45 Agent Skills (23 REST API + 21 CLI + 1 configuration workflow). Each skill has:
- A canonical ID (
omni-auth,cli-serve, etc.) - A SKILL.md file in
skills/{id}/SKILL.mdwith YAML frontmatter (name,description) + rich markdown body - REST endpoints (API skills) or CLI subcommands (CLI skills) derived from the OpenAPI spec and CLI registry
- A GitHub raw URL for live fetch:
https://raw.githubusercontent.com/diegosouzapw/OmniRoute/refs/heads/main/skills/{id}/SKILL.md
Architecture
Section titled “Architecture”src/shared/constants/agentSkills.ts — 45-entry curated list (name/desc/category/area/icon)src/lib/agentSkills/ catalog.ts — getCatalog(), getSkillById(), filterCatalog(), computeCoverage() generator.ts — generateAgentSkills() writes SKILL.md to skills/{id}/ openapiParser.ts — extracts REST endpoints from docs/openapi.yaml cliRegistryParser.ts — extracts CLI subcommands from bin/cli-registry.ts schemas.ts — Zod schemas: AgentSkillSchema, SkillCoverageSchema, etc. types.ts — TypeScript interfaces: AgentSkill, SkillCoverage, etc.
skills/{id}/SKILL.md — Generated + curated markdown files (45 total)
src/app/api/agent-skills/ route.ts — GET /api/agent-skills [id]/route.ts — GET /api/agent-skills/{id} [id]/raw/route.ts — GET /api/agent-skills/{id}/raw (text/markdown) coverage/route.ts — GET /api/agent-skills/coverage generate/route.ts — POST /api/agent-skills/generate (auth required)
open-sse/mcp-server/tools/agentSkillTools.ts — 3 MCP tools (list, get, coverage)src/lib/a2a/skills/listCapabilities.ts — A2A skill: list-capabilitiesSKILL.md Format
Section titled “SKILL.md Format”---name: omni-providersdescription: "Manage provider connections: add, test, rotate, and remove credentials."---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Overview
...
## Authentication
...
## Endpoints
...
<!-- skill:custom-start -->
## Custom Section (preserved across regeneration)
...
<!-- skill:custom-end -->The generator preserves content between <!-- skill:custom-start --> and <!-- skill:custom-end --> on regeneration. Ten skills have curated custom blocks:
omni-mcp, omni-compression, cli-providers, cli-eval, omni-agents-a2a, omni-combos-routing, omni-auth, omni-resilience, omni-inference, cli-serve.
REST API Discovery
Section titled “REST API Discovery”| Endpoint | Method | Description | Auth |
|---|---|---|---|
/api/agent-skills |
GET | List catalog (optional ?category=api|cli|config&area=<area>) |
none |
/api/agent-skills/{id} |
GET | Get single skill metadata | none |
/api/agent-skills/{id}/raw |
GET | Fetch SKILL.md as text/markdown |
none |
/api/agent-skills/coverage |
GET | Coverage stats (how many SKILL.md files exist) | none |
/api/agent-skills/generate |
POST | Trigger generator (dryRun/prune/onlyIds) | management |
Example — list all API skills:
curl "http://localhost:20128/api/agent-skills?category=api"Example — fetch a single SKILL.md:
curl -H "Accept: text/markdown" "http://localhost:20128/api/agent-skills/omni-providers/raw"MCP Discovery
Section titled “MCP Discovery”Three MCP tools are registered under scope read:catalog:
| Tool | Description |
|---|---|
omniroute_agent_skills_list |
List skills (optional category / area filters) |
omniroute_agent_skills_get |
Get metadata + SKILL.md for one skill by id |
omniroute_agent_skills_coverage |
Coverage stats (API/CLI have/total) |
See MCP-SERVER.md for scope wiring and authentication.
A2A Discovery
Section titled “A2A Discovery”The A2A skill list-capabilities returns the full 45-skill catalog as a markdown table artifact. External orchestrators can invoke it via:
{ "jsonrpc": "2.0", "id": "1", "method": "message/send", "params": { "skill": "list-capabilities", "messages": [{ "role": "user", "content": "List all capabilities" }] }}See A2A-SERVER.md for protocol details.
Catalog — 45 Skill IDs
Section titled “Catalog — 45 Skill IDs”API Skills (23)
Section titled “API Skills (23)”| ID | Area | Entry Point |
|---|---|---|
omni-auth |
auth | Auth + session management |
omni-providers |
providers | Provider connection management |
omni-models |
models | Model catalog and capabilities |
omni-combos-routing |
combos-routing | Combo routing strategies |
omni-api-keys |
api-keys | API key management |
omni-usage-logs |
usage-logs | Usage and cost logs |
omni-budget |
budget | Budget guards |
omni-settings |
settings | Global settings |
omni-proxies |
proxies | Proxy pool management |
omni-cache |
cache | Semantic + prompt cache |
omni-compression |
compression | Context compression engines |
omni-context-rtk |
context-rtk | RTK compression |
omni-resilience |
resilience | Circuit breakers + cooldowns |
omni-cli-tools |
cli-tools | CLI tools REST proxy |
omni-tunnels |
tunnels | Tunnel management |
omni-sync-cloud |
sync-cloud | Cloud sync |
omni-db-backups |
db-backups | Database backups |
omni-webhooks |
webhooks | Webhook event dispatcher |
omni-mcp |
mcp | MCP server (110 tools, 3 transports) |
omni-agents-a2a |
agents-a2a | A2A agent protocol |
omni-version-manager |
version-manager | Version and update management |
omni-inference |
inference | Direct inference / completions |
CLI Skills (21)
Section titled “CLI Skills (21)”| ID | Area | CLI Command Root |
|---|---|---|
cli-serve |
cli-serve | omniroute serve |
cli-health |
cli-health | omniroute health |
cli-providers |
cli-providers | omniroute providers |
cli-keys |
cli-keys | omniroute keys |
cli-models |
cli-models | omniroute models |
cli-chat |
cli-chat | omniroute chat |
cli-routing |
cli-routing | omniroute routing |
cli-resilience |
cli-resilience | omniroute resilience |
cli-compression |
cli-compression | omniroute compression |
cli-contexts |
cli-contexts | omniroute contexts |
cli-cost-usage |
cli-cost-usage | omniroute cost |
cli-mcp |
cli-mcp | omniroute mcp |
cli-a2a |
cli-a2a | omniroute a2a |
cli-tunnel |
cli-tunnel | omniroute tunnel |
cli-backup-sync |
cli-backup-sync | omniroute backup |
cli-policy-audit |
cli-policy-audit | omniroute policy |
cli-batches |
cli-batches | omniroute batch |
cli-eval |
cli-eval | omniroute eval |
cli-plugins-skills |
cli-plugins-skills | omniroute plugins |
cli-setup |
cli-setup | omniroute setup |
cli-skill-collector |
cli-setup | omniroute skills |
Configuration workflow (1)
Section titled “Configuration workflow (1)”| ID | Area | Entry Point |
|---|---|---|
config-codex-cli |
config-codex-cli | Codex CLI configuration workflow |
How External Agents Consume Skills
Section titled “How External Agents Consume Skills”1. Discovery via REST
Section titled “1. Discovery via REST”# Get the full catalogcurl "http://your-omniroute/api/agent-skills" | jq '.skills[] | {id, name, category}'
# Get SKILL.md for context injectioncurl "http://your-omniroute/api/agent-skills/omni-providers/raw" > omni-providers.md2. Discovery via MCP
Section titled “2. Discovery via MCP”// In a Claude Desktop / Cursor MCP client:const result = await client.callTool("omniroute_agent_skills_list", { category: "api" });// result.skills → array of AgentSkill with rawUrl for each3. Discovery via A2A
Section titled “3. Discovery via A2A”import requests
resp = requests.post("http://your-omniroute/a2a", json={ "jsonrpc": "2.0", "id": "1", "method": "message/send", "params": {"skill": "list-capabilities", "messages": [{"role": "user", "content": "list"}]}})table = resp.json()["result"]["artifacts"][0]["content"]# table is a markdown table with all 45 skill IDs + rawUrl columns4. Direct GitHub raw fetch (no server required)
Section titled “4. Direct GitHub raw fetch (no server required)”BASE="https://raw.githubusercontent.com/diegosouzapw/OmniRoute/refs/heads/main/skills"curl "${BASE}/omni-providers/SKILL.md"Generator
Section titled “Generator”The generator reads the curated catalog + OpenAPI spec + CLI registry and writes skills/{id}/SKILL.md for each entry:
# Preview (dry run, no writes)curl -X POST http://localhost:20128/api/agent-skills/generate \ -H "Authorization: Bearer <admin-key>" \ -H "Content-Type: application/json" \ -d '{"dryRun":true}'
# Full regenerationcurl -X POST http://localhost:20128/api/agent-skills/generate \ -H "Authorization: Bearer <admin-key>" \ -H "Content-Type: application/json" \ -d '{"dryRun":false,"prune":false}'
# Regenerate specific IDscurl -X POST http://localhost:20128/api/agent-skills/generate \ -H "Authorization: Bearer <admin-key>" \ -H "Content-Type: application/json" \ -d '{"dryRun":false,"onlyIds":["omni-providers","cli-serve"]}'The generator response is a GeneratorReport:
{ "generated": ["omni-providers", "cli-serve"], "unchanged": [], "pruned": [], "orphansDetected": [], "errors": []}Coverage API
Section titled “Coverage API”curl "http://localhost:20128/api/agent-skills/coverage"{ "api": { "have": 23, "total": 23 }, "cli": { "have": 21, "total": 21 }, "config": { "have": 1, "total": 1 }, "totalSkills": 45, "generatedAt": "2026-08-02T00:00:00.000Z"}Related
Section titled “Related”- SKILLS.md — Omni Skills framework (LLM tool injection + marketplace)
- MCP-SERVER.md — MCP tool catalog (
omniroute_agent_skills_*tools) - A2A-SERVER.md — A2A protocol (
list-capabilitiesskill) src/lib/agentSkills/— catalog, generator, parsersskills/— generated SKILL.md files (45 entries)
HagiCode
HagiCode is an agentic coding workspace: structured workflows, multi-agent execution, and Hero Dungeon views turn ideas into shipped software.
Turn ideas into polished, usable software with a smarter, faster, and more enjoyable agentic coding workflow.

- SmartStructured workflows turn intent into an executable path from idea to shipped change.
- EfficientMulti-agent workflows keep research, implementation, and review moving in parallel.
- FunHero Dungeon interfaces make long coding sessions visual, collaborative, and rewarding.