Skip to content
Development
Skill

/omni-combos-routing

Create and manage routing combos with 14 strategies (priority, weighted, round-robin, Auto-combo, etc.). Configure fallback chains, test routing outcomes, and retrieve combo metrics.

From plugin
omniroute
44k45 skills
Install
$ npx -y skills add diegosouzapw/OmniRoute --skill omni-combos-routing --agent claude-code

How 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/omni-combos-routing

Context preview

The summary Claude sees to decide when to auto-load this skill.

Create and manage routing combos with 14 strategies (priority, weighted, round-robin, Auto-combo, etc.). Configure fallback chains, test routing outcomes, and retrieve combo metrics.

SKILL.md

omni-combos-routing.SKILL.md
name: omni-combos-routing
description: Create and manage routing combos with 14 strategies (priority, weighted, round-robin, Auto-combo, etc.). Configure fallback chains, test routing outcomes, and retrieve combo metrics.

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

Overview

Create and manage routing combos with 14 strategies (priority, weighted, round-robin, Auto-combo, etc.). Configure fallback chains, test routing outcomes, and retrieve combo metrics.

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/combos

List routing combos

curl https://localhost:20128/api/combos \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"

POST /api/combos

Create routing combo

curl -X POST https://localhost:20128/api/combos \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
  -H "Content-Type: application/json" \
  -d '{}'

PATCH /api/combos/{id}

Update combo

curl -X PATCH https://localhost:20128/api/combos/{id} \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
  -H "Content-Type: application/json" \
  -d '{}'

DELETE /api/combos/{id}

Delete combo

curl -X DELETE https://localhost:20128/api/combos/{id} \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"

GET /api/combos/metrics

Get combo metrics

curl https://localhost:20128/api/combos/metrics \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"

POST /api/combos/test

Test a combo configuration

curl -X POST https://localhost:20128/api/combos/test \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
  -H "Content-Type: application/json" \
  -d '{}'

GET /api/fallback/chains

List fallback chains

Returns all registered fallback chains for model routing.

curl https://localhost:20128/api/fallback/chains \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"

POST /api/fallback/chains

Create fallback chain

Registers a fallback routing chain for a model.

curl -X POST https://localhost:20128/api/fallback/chains \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
  -H "Content-Type: application/json" \
  -d '{}'

DELETE /api/fallback/chains

Delete fallback chain

curl -X DELETE https://localhost:20128/api/fallback/chains \
  -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-routing/SKILL.md (preserved curated content) -->

OmniRoute — Routing & Combos

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

What is a combo?

A combo is a named group of providers/models with a routing strategy. All requests through a combo are automatically distributed, failed-over, and load-balanced — the caller uses a single model ID like `my-combo`.

List existing combos

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

Response includes `id`, `name`, `strategy`, `enabled`, and per-target stats.

Create a combo

curl -X POST $OMNIROUTE_URL/api/combos \
  -H "Authorization: Bearer $OMNIROUTE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-combo",
    "strategy": "priority",
    "targets": [
      { "provider": "anthropic", "model": "claude-opus-4-7", "weight": 1 },
      { "provider": "openai",    "model": "gpt-4o",           "weight": 1 }
    ]
  }'

14 routing strategies

| Strategy | Description | | ------------------- | -------------------------------------------------- | | `priority` | Always use target[0]; fall back on error | | `weighted` | Distribute by weight percentage | | `round-robin` | Rotate targets in order | | `fill-first` | Fill quota of target[0] before spilling | | `least-used` | Route to target with fewest active requests | | `cost-optimized` | Pick cheapest target for the token estimate | | `auto` | 9-factor scoring: cost + latency + quota + circuit | | `random` | Uniform random selection | | `strict-random` | Random without repeating until all used | | `p2c` | Power-of-2-choices: sample 2, pick better | | `reset-aware` | Prefer targets near quota reset time | | `lkgp` | Last-known-good-provider sticky routing | | `context-optimized` | Pick best model for context length | | `context-relay` | Chain models for very long contexts |

Auto-combo (recommended for production)

Auto-combo scores each candidate on 9 factors every request:

curl -X POST $OMNIROUTE_URL/api/combos \
  -H "Authorization: Bearer $OMNIROUTE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "prod-auto",
    "strategy": "auto",
    "targets": [
      { "provider": "anthropic", "model": "claude-sonnet-4-6" },
      { "provider": "openai",    "model": "gpt-4o-mini" },
      { "provider": "google",    "model": "gemini-2.0-flash" }
    ]
  }'

Then call it with:

curl -X POST $OMNIROUTE_URL/v1/chat/completions \
  -H "Authorization: Bearer $OMNIROUTE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "model": "prod-auto", "messages": [{ "role": "user", "content": "Hello" }] }'

Activate / deactivate a combo

# Activate
curl -X PUT $OMNIROUTE_URL/api/combos/{id}/toggle \
  -H "Authorization: Bearer $OMNIROUTE_KEY" \
  -d '{ "enabled": true }'

Get combo metrics

cu
Read more
Ships withomniroute

Never stop coding. Free MIT AI gateway: one endpoint, 290+ providers (90+ free), 500+ models — Kimi, Claude, GPT, OpenAI, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline & Copilot. Quota-aware auto-fallback, RTK+Caveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 500+ contributors

Get the whole plugin
Stats
44,359
Stars
5,961
Forks
Active
Maintenance
TypeScript
Language
MIT
License
4m ago
Last commit
5mo ago
Created

Repo: diegosouzapw/OmniRoute