Dev & Engineering llm-gatewayopenai-apianthropic-apitoken-saverauto-fallbackapi-proxystreamingmodel-routing

9Router Chat Skill

Call any LLM through the 9Router gateway using OpenAI or Anthropic API formats, with streaming and combo auto-fallback, so chat and code generation never stall on a single provider's quota.

FollowSkills review · FSRS-2.0
Use with care
47/ 100 5-point scale 2.4 / 5
1 2 3 4 5 6
1Trust14 / 25 · 2.8/5

The skill only documents HTTP calls to a locally running 9Router service: no file writes, no destructive operations; credentials flow through environment variables and are never hardcoded, and the data flow (to the local router, then upstream LLM providers) is largely transparent. Deducted for: no explicit disclosure that upstream providers see full prompt content, no rollback/invalidation guidance, and insufficient warning about the secret-leakage surface of shell env vars.

2Reliability9 / 20 · 2.3/5

Internally self-consistent: endpoints, request/response examples and SSE streaming format agree across OpenAI and Anthropic sections; the happy path is plausible. Deducted for: no tests, no edge/error handling (401, provider timeouts, fallback failure behavior), the jq dependency of the discover command is unexplained, and failure feedback is left entirely to user debugging.

3Adaptability8 / 15 · 2.7/5

Trigger conditions in the description are reasonably clear (ask an LLM, generate code, summarize), and dual OpenAI/Anthropic format support broadens fit. Deducted for: no declared non-fit boundaries (requires 9Router running and prior base-skill setup), Chinese support exists only at repo README level while the skill is English-only, and reachability of upstream free providers from mainland-China networks is not disclosed.

4Convention7 / 15 · 2.3/5

Clean structure, progressive disclosure via a setup reference, ample examples. Deducted for: the critical setup prerequisite is externalized to another SKILL.md via a master-branch raw URL not pinned to this revision; the skill itself has no version number, changelog, FAQ or known-limitations section, and maintenance responsibility is only inferable at repo level.

5Effectiveness5 / 15 · 1.7/5

The core task (chat/code generation via 9Router) has a complete documented path with directly reusable curl/SDK snippets. Deducted for: the 'free unlimited' marketing value claim is unverifiable in static review; actual benefit depends on the 9Router service and the reality of upstream free quotas; static cap is 7 and no representative-output evidence exists, so 5.

6Verifiability4 / 10 · 2.0/5

Response-shape examples align with public OpenAI/Anthropic API specs, providing cross-corroboration; the repo contains real CI (Docker publish) and source code. Deducted for: no test coverage on the skill's key paths, no third-party execution evidence, and claims like RTK -40% token savings have only marketing sources; static cap 5, scored 4.

Evidence confidence:Low Reviewed Sep 09, 2026 Reviewed revision eb712ca821f0
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Before you use it
  • This skill is API documentation only; the 9Router local service must be installed and running first (see the 9router base skill) or the skill is inoperable standalone.
  • Upstream LLM providers see all prompts and code you send; evaluate sensitivity before use with proprietary code.
  • API keys are passed via environment variables (NINEROUTER_KEY); beware shell history and process-environment leakage.
  • 'Free/unlimited' is marketing language; real availability depends on each upstream provider's free-tier policy and may change at any time.
  • The setup prerequisite links to the master branch rather than a pinned revision; mainland-China reachability of some upstream providers is not disclosed.
Review evidence [1][2][3][4][5][6][7][8][9]
See the full review method →

What does this skill do, and when should you use it?

9router-chat is an Agent Skill that teaches a model how to issue chat and code-generation requests through a locally running 9Router gateway. It covers both OpenAI's /v1/chat/completions and Anthropic's /v1/messages endpoints, including SSE streaming, model discovery via /v1/models, and response-shape parsing. 9Router itself is a local AI router connecting 40+ free and paid providers, with tiered auto-fallback (subscription → cheap → free) and an RTK token saver that cuts 20-40% of input tokens. The skill is one of 9 bundled in the 9router repository; a running 9Router instance is a prerequisite.

The skill instructs the model to: read the NINEROUTER_URL environment variable (plus NINEROUTER_KEY if auth is enabled); discover models with GET /v1/models and fetch per-model metadata (contextWindow, params) via /v1/models/info; send chat or code-generation requests via POST /v1/chat/completions (OpenAI format) or POST /v1/messages (Anthropic format); read SSE streams when stream:true (data: {delta} chunks until [DONE]); and correctly parse both response shapes (choices/message/content plus usage fields). Named combos (e.g. vip, mycodex) automatically fall back across multiple providers.

  1. A developer already running 9Router with free providers like Kiro or OpenCode Free connected, who wants the model to query and use those free models for code generation on demand
  2. Users of Claude Code, Cursor, or Cline who regularly exhaust subscription quotas and need combo-based fallback to cheap (GLM, MiniMax) or free tiers to avoid interruptions
  3. Integrators who want a single OpenAI-format endpoint to reach Claude, GPT, and Gemini models from different vendors inside scripts or agents
  4. JavaScript developers who want to point the OpenAI SDK's baseURL at 9Router and reuse existing code built on the openai npm package
  5. Anyone building an interactive UI that needs token-by-token SSE streaming output
  6. Users asking in prompt to summarize long text or run a one-off question, with 9Router picking an available provider automatically

What are this skill's strengths and limitations?

Pros
  • One skill covers both OpenAI and Anthropic API formats, with ready-to-use curl and JS SDK examples
  • Leverages 9Router's combo mechanism so quota exhaustion triggers automatic fallback to cheap/free providers without interruption
  • Documents complete response shapes (usage fields, SSE stream format), easing parsing and debugging
  • Dynamic model discovery via /v1/models and /v1/models/info means no hardcoded model list
  • MIT-licensed open-source project with Docker images and multilingual docs
Limitations
  • Hard dependency on a running, provider-configured 9Router instance; the skill itself contains no steps to install or start 9Router
  • Completely non-functional without NINEROUTER_URL set; NINEROUTER_KEY is also required if REQUIRE_API_KEY is on
  • No test suite is declared in SKILL.md, and there is no evidence it works against vendor APIs directly without 9Router
  • Example model IDs (openai/gpt-5, cc/claude-opus-4-7, etc.) depend on which providers your 9Router instance actually has connected and are not guaranteed
  • The "free unlimited" path relies on third-party free tiers (Kiro, OpenCode Free) remaining available — the README itself records iFlow and Qwen free tiers being discontinued in 2026

How do you install this skill?

  1. Install 9Router itself: npm install -g 9router, then run 9router — the dashboard opens at http://localhost:20128. 2. In Dashboard → Providers, connect at least one provider (e.g. free Kiro AI or OpenCode Free). 3. Get the skill from https://github.com/decolua/9router (it lives at skills/9router-chat/SKILL.md) and place it in your Agent Skills client's skill directory per that client's conventions. 4. Set NINEROUTER_URL (default http://localhost:20128); if auth is enforced (REQUIRE_API_KEY=true), also copy an API key from the dashboard into NINEROUTER_KEY. SKILL.md provides no dedicated install script; exact folder placement depends on your client.

How do you use this skill?

Once the environment is ready, trigger it in conversation, e.g.: "Use 9Router to ask gpt-5: write a Python quicksort" or "Summarize this text via 9Router". The model will follow SKILL.md: first curl $NINEROUTER_URL/v1/models to list models; then POST to /v1/chat/completions (OpenAI format, example model openai/gpt-5) or /v1/messages (Anthropic format, example model cc/claude-opus-4-7, with the anthropic-version: 2023-06-01 header); set stream:true for SSE streaming. In JS, create new OpenAI({ baseURL: ${NINEROUTER_URL}/v1, apiKey: NINEROUTER_KEY }) and call client.chat.completions.create.

How does this skill compare with similar options?

OmniRoute, a fork linked from the same README, extends 9Router with 36+ providers, 4-tier fallback, multi-modal APIs, and semantic caching — consider it if you need more. Calling OpenAI or Anthropic's official APIs directly needs no local router but forgoes auto-fallback, quota tracking, and RTK token savings.

FAQ

Does using this skill cost money?
9Router software is free and open source (MIT); the dashboard's displayed costs are savings-tracker estimates, never bills. You pay providers directly: free tiers (Kiro, OpenCode Free) cost $0, while subscription/API providers (Claude Code, GLM, etc.) are paid to them directly.
Why does a request fail with "Language model did not provide messages"?
Usually the provider's quota is exhausted. Check the dashboard quota tracker, or use a combo that includes cheap/free tiers so 9Router auto-falls-back to the next available provider.
What permissions and environment does it need?
Network access to NINEROUTER_URL (default localhost:20128), the ability to run curl or execute JS, and the NINEROUTER_URL / NINEROUTER_KEY environment variables. The skill reads/writes no local files and does not use MCP.
How does it relate to the other 8 skills in the repo?
The 9router repository is a monorepo bundling 9 skills. This profile covers only the chat/code-generation capability described at skills/9router-chat/SKILL.md; capabilities of sibling skills are not included here.

More skills from this repository

All from decolua/9router

Dev & Engineering

9Router Gateway Skill

Point AI coding tools at a local gateway that unifies 40+ free and low-cost model providers, with auto-fallback and RTK saving 20-40% tokens per request.

Dev & Engineering

9Router Web Search Skill

Aggregate web and X search from 11 providers (Tavily, Exa, Brave and more) through one 9Router /v1/search endpoint, so AI coding agents can search the web on demand.

Dev & Engineering

9Router Embeddings Skill

Generate vector embeddings via a running 9Router's /v1/embeddings endpoint, drawing on OpenAI, Gemini, Mistral, Voyage, Nvidia, and GitHub embedding models for RAG, semantic search, and similarity.

Dev & Engineering

9Router Text-to-Speech

Turn text into MP3 audio through 9Router's unified /v1/audio/speech endpoint, drawing voices from OpenAI, ElevenLabs, Edge TTS, Deepgram, and more.

Dev & Engineering

9Router Image Generation Skill

Call text-to-image models from OpenAI, Gemini, FLUX, Stability and 40+ providers through one 9Router endpoint, letting AI coding agents generate images on demand.

Dev & Engineering

9Router Speech-to-Text Skill

Transcribe audio through one OpenAI-compatible endpoint that routes to Whisper, Groq, Gemini, Deepgram and more via 9Router.

Design & Frontend

9Router Video Generation (xAI Grok Imagine)

Generate, edit, and extend videos via 9Router's unified API using xAI Grok Imagine, with an async submit-poll-download job flow for text-to-video and image-to-video.

Dev & Engineering

9Router Web Fetch

Turn any URL into markdown, text, or HTML via 9Router's /v1/web/fetch, routing across Jina Reader, Firecrawl, Tavily, Exa, and Ollama Cloud with automatic provider fallback.

Related skills