Skip to content
Development
Skill

/omni-resilience

Monitor provider health, circuit-breaker states, p50/p95/p99 latency metrics, and budget guard alerts. Inspect connection cooldowns and model lockouts in real time.

From plugin
omniroute
86k46 skills

Claude Code

$ npx -y skills add cheaper-inference/omniroute --skill omni-resilience --agent claude-code

SKILL.md

omni-resilience.SKILL.md
name: omni-resilience
description: Monitor provider health, circuit-breaker states, p50/p95/p99 latency metrics, and budget guard alerts. Inspect connection cooldowns and model lockouts in real time.

<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->

Overview

Monitor provider health, circuit-breaker states, p50/p95/p99 latency metrics, and budget guard alerts. Inspect connection cooldowns and model lockouts in real time.

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

GET /api/monitoring/health

System health check

Returns system health including uptime, memory, circuit breakers, rate limits

curl http://localhost:20128/api/monitoring/health \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"

GET /api/monitoring/model-health

Get per-model health states

Management-only report that classifies every synced model on every provider connection as HEALTHY, DEGRADED, RATE_LIMITED, AUTH_FAILED, PROVIDER_DOWN, CONNECTION_BLOCKED, MODEL_LOCKED or UNKNOWN, from the connection state, the provider circuit breaker and the per-model lockout. Includes connection ids and names, so it requires a management principal.

curl http://localhost:20128/api/monitoring/model-health \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"

GET /api/monitoring/compression

Get compression result-memo statistics

In-process compression result-memo observability snapshot — size, capacity, lifetime hits/misses/hitRate plus 1m/5m/15m/1h windowed rates. Lightweight (no DB, no provider reads) companion to `GET /api/monitoring/health` intended for frequent polling. Sent with `Cache-Control: no-store, no-cache, must-revalidate`. Counters reset on process restart.

curl http://localhost:20128/api/monitoring/compression \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"

GET /api/provider-metrics

GET provider metrics

curl http://localhost:20128/api/provider-metrics \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"

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-monitoring/SKILL.md (preserved curated content) -->

OmniRoute — Monitoring & Health

Requires `OMNIROUTE_URL` and `OMNIROUTE_KEY`. See [entry-point SKILL](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omni-auth/SKILL.md) for setup.

System health

curl $OMNIROUTE_URL/api/health \
  -H "Authorization: Bearer $OMNIROUTE_KEY"

Returns: uptime, memory, active connections, circuit breaker states, rate limit status, cache stats.

Unauthenticated quick check:

curl $OMNIROUTE_URL/api/health
# → {"ok":true}

Provider circuit breakers

Circuit breakers prevent traffic from hitting failing providers.

States: `CLOSED` (normal), `OPEN` (blocked), `HALF_OPEN` (probe mode — auto-recovers).

curl $OMNIROUTE_URL/api/monitoring/health \
  -H "Authorization: Bearer $OMNIROUTE_KEY"

Response includes `circuitBreakers` array with per-provider state and `resetAt` timestamp.

Per-provider metrics (p50/p95/p99)

curl $OMNIROUTE_URL/api/providers/metrics \
  -H "Authorization: Bearer $OMNIROUTE_KEY"

Response shape per provider:

{
  "provider": "anthropic",
  "requests": 1247,
  "successRate": 0.994,
  "latency": { "p50": 820, "p95": 2100, "p99": 3800 },
  "circuitState": "CLOSED",
  "tokensUsed": 2847000
}

Via MCP (if OmniRoute is your MCP server)

omniroute_get_health            → full system health snapshot
omniroute_get_provider_metrics  → p50/p95/p99 + circuit state per provider
omniroute_get_session_snapshot  → cost, tokens, errors for current session
omniroute_check_quota           → quota balance + percent remaining + reset time
omniroute_db_health_check       → diagnose + auto-repair database drift

Quota check

curl $OMNIROUTE_URL/api/quota \
  -H "Authorization: Bearer $OMNIROUTE_KEY"

Returns used/total tokens and requests per provider/account, with `resetAt` timestamps.

Budget guard (spend limit)

Set a session spending limit that degrades or blocks requests when hit:

curl -X POST $OMNIROUTE_URL/api/budget/guard \
  -H "Authorization: Bearer $OMNIROUTE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "limitUsd": 5.00,
    "action": "degrade",
    "degradeTo": "openai/gpt-4o-mini"
  }'

`action` options:

  • `degrade` — switch to a cheaper model when limit is hit
  • `block` — return 429 when limit is hit
  • `alert` — continue but add `X-Budget-Warning` header

MCP audit log

OmniRoute logs every MCP tool call to `mcp_audit` table. Query via API:

curl "$OMNIROUTE_URL/api/mcp/status" \
  -H "Authorization: Bearer $OMNIROUTE_KEY"

Returns: server status, heartbeat, recent audit activity summary.

Errors

  • `503` on health endpoint → OmniRoute is starting up; retry in 5s
  • Circuit breaker `OPEN` → provider is temporarily blocked; check `resetAt` to know when it auto-recovers
  • `429 budget_exceeded` → budget guard limit reached; raise limit or wait for reset

<!-- skill:custom-end -->

Read more
@diegosouzapw
Ships withomniroute

Created by Diego Souza

Stars on GitHub

Momentum

stars in total
86.1k
Star history of diegosouzapw/OmniRoute on GitHub, a chart by star-history.com

Other skills on omniroute.

cli-a2a

cli-a2a

Interact with the OmniRoute A2A server from the CLI. Send tasks, inspect skill execution history, and test the JSON-RPC 2.0…

cli-backup-sync

cli-backup-sync

Backup and restore OmniRoute data from the CLI. Trigger incremental snapshots, sync to cloud storage, manage backup schedules,…

cli-batches

cli-batches

Submit and monitor batch inference jobs from the CLI. Upload and manage files for batch processing, retrieve results, and…

cli-chat

cli-chat

Send chat completions, stream responses, and start an interactive REPL session from the CLI. Supports all OmniRoute providers,…

cli-compression

cli-compression

Configure and test prompt compression from the CLI. Manage RTK filters, Caveman rules, stacked compression modes, and preview…

cli-contexts

cli-contexts

Manage context engineering configurations, RTK filter sets, and conversation sessions from the CLI. Apply context-relay settings…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about omni-resilience.

Which coding agents can use omni-resilience?
omni-resilience installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.