Dev & Engineering

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.

47/ 100
Use with care

Useful, but reliability, evidence or controls still have material gaps.

See how it was scored ↓
Works as-is in
Codex · Claude Code
Stars
★ 31k
Last updated
17d ago
License
MIT
llm-gatewayopenai-apianthropic-apitoken-saver
+4auto-fallbackapi-proxystreamingmodel-routing

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.

Good fit
  • 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
  • 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
  • Integrators who want a single OpenAI-format endpoint to reach Claude, GPT, and Gemini models from different vendors inside scripts or agents
  • JavaScript developers who want to point the OpenAI SDK's baseURL at 9Router and reuse existing code built on the openai npm package
  • Anyone building an interactive UI that needs token-by-token SSE streaming output
  • Users asking in prompt to summarize long text or run a one-off question, with 9Router picking an available provider automatically

How do you install this skill?

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.
Before you start
Your agent needs
  • Shell / CLI
  • Network access
Install first
  • 9Router instance (npm install -g 9router, local port 20128)
  • curl for HTTP examples
  • Node.js OpenAI SDK for JS usage
  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.
Generic route: install into Claude Code manually (macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/decolua/9router.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/skills/9router-chat" ~/.claude/skills/
rm -rf "$tmp"

Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.

How do you use this skill?

Try saying

Once installed, send your agent any of these to trigger it:

  • Use 9Router to ask gpt-5: write a Python quicksort
  • Summarize this text via 9Router

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.

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 does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
9Router Chat Skill this page 47 · Use with care ★ 31k 17d ago MIT
9Router Gateway Skill 46 · Use with care ★ 31k 17d ago MIT
9Router Web Search Skill 48 · Use with care ★ 31k 17d ago MIT
OpenAI Developer Docs Assistant ✓ OpenAI · Official 55 · Use with care ★ 28k 4mo ago —
Cost Mode 54 · Use with care ★ 38 11d ago MIT

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.

How did FollowSkills review this skill?

FollowSkills review · FSRS-2.0
Use with care
47/ 100 5-point scale 2.4 / 5
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.
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.

1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Sep 09, 2026 Reviewed revision eb712ca821f0 Review evidence[1][2][3][4][5][6][7][8][9]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

See the full review method →

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.

★ 31k FS 46 Use with care 17d ago
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.

★ 31k FS 48 Use with care 17d ago
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.

★ 31k FS 49 Use with care 17d ago
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.

★ 31k FS 46 Use with care 17d ago
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.

★ 31k FS 52 Use with care 17d ago
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.

★ 31k FS 48 Use with care 17d ago
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.

★ 31k FS 49 Use with care 17d ago
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.

★ 31k FS 51 Use with care 17d ago

Related skills