Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Chat / code generation via 9Router using OpenAI /v1/chat/completions or Anthropic /v1/messages format with streaming + auto-fallback combos. Use when the user wants to ask an LLM, generate code, summarize text, or run prompts through 9Router.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -7% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -4% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 38% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 71% | 0% |
Requires NINEROUTER_URL (and NINEROUTER_KEY if auth enabled). See https://raw.githubusercontent.com/decolua/9router/refs/heads/master/skills/9router/SKILL.md for setup.
POST $NINEROUTER_URL/v1/chat/completions — OpenAI formatPOST $NINEROUTER_URL/v1/messages — Anthropic formatbashcurl $NINEROUTER_URL/v1/models | jq '.data[].id' # Per-model metadata (contextWindow, params) curl "$NINEROUTER_URL/v1/models/info?id=openai/gpt-4o"
Combos (e.g. vip, mycodex) auto-fallback through multiple providers.
bashcurl -X POST $NINEROUTER_URL/v1/chat/completions \ -H "Authorization: Bearer $NINEROUTER_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"openai/gpt-5","messages":[{"role":"user","content":"Hi"}],"stream":false}'
JS (OpenAI SDK):
jsimport OpenAI from "openai"; const client = new OpenAI({ baseURL: `${process.env.NINEROUTER_URL}/v1`, apiKey: process.env.NINEROUTER_KEY }); const res = await client.chat.completions.create({ model: "openai/gpt-5", messages: [{ role: "user", content: "Hi" }], stream: true, }); for await (const chunk of res) process.stdout.write(chunk.choices[0]?.delta?.content || "");
bashcurl -X POST $NINEROUTER_URL/v1/messages \ -H "Authorization: Bearer $NINEROUTER_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "Content-Type: application/json" \ -d '{"model":"cc/claude-opus-4-7","max_tokens":1024,"messages":[{"role":"user","content":"Hi"}]}'
OpenAI (/v1/chat/completions):
json{ "id": "chatcmpl-...", "object": "chat.completion", "model": "openai/gpt-5", "choices": [{ "index": 0, "message": { "role": "assistant", "content": "Hello!" }, "finish_reason": "stop" }], "usage": { "prompt_tokens": 8, "completion_tokens": 2, "total_tokens": 10 } }
Streaming (stream:true) emits SSE: data: {choices:[{delta:{content:"..."}}]}\n\n ... data: [DONE]\n\n.
Anthropic (/v1/messages):
json{ "id": "msg_...", "type": "message", "role": "assistant", "model": "cc/claude-opus-4-7", "content": [{ "type": "text", "text": "Hello!" }], "stop_reason": "end_turn", "usage": { "input_tokens": 8, "output_tokens": 2 } }
Other measured skills in the registry, with their headline benchmark lift.