Skip to content

decolua/9router for Claude Code: What the 9 Skills Do

By Flowy · Updated 2026-08-28

decolua/9router is a Claude Code plugin with 9 skills that call a self-hosted 9Router gateway: one entry point plus skills for chat, images, video, text-to-speech, speech-to-text, embeddings, web search, and web fetch. Use it if you already run a 9Router instance and want an agent to reach its endpoints across many providers without writing provider-specific code.

What is the decolua/9router plugin, actually

decolua/9router indexes a self-hosted AI gateway, not a set of skills that talk to a model directly. 9Router runs as its own local or remote service, separate from Claude Code, and exposes an OpenAI-compatible REST API that a coding tool can point at instead of calling any single provider by itself. This plugin adds 9 skills, all of them skill type, that let an agent reach that running gateway for chat, images, video, audio, embeddings, and web access without writing separate request code for each provider. The repository behind this listing carries 26,545 GitHub stars.

The pitch behind 9Router, per its own project summary, is to keep you coding once a subscription's quota runs out. It tracks usage per provider and can fall back from a paid subscription to a cheaper provider and then to a free one, and it claims to cut 20 to 40 percent of tokens per request with a compression technique it calls RTK. None of that routing or compression logic lives inside Claude Code or this plugin. It lives in the 9Router service itself; the 9 skills here are the calling code that reaches it once it is running.

What the 9 skills do

One skill is the front door. 9router is the entry point: it covers setting up a local or remote 9Router instance and indexes the other eight skills below it. It fires when you mention 9Router or a NINEROUTER_URL variable, or when you want AI output without writing provider-specific code yourself.

Text and code: 9router-chat sends chat and code-generation requests to 9Router, in either OpenAI or Anthropic message format, with streaming and the auto-fallback behavior described above. Reach for it to ask an LLM a question, generate code, or summarize text through the gateway instead of through one hardcoded provider.

Audio, in both directions: 9router-tts turns text into speech through providers such as OpenAI, ElevenLabs, Deepgram, Edge TTS, Google TTS, Hyperbolic, or Inworld voices, for narration or a voiceover track. 9router-stt runs the reverse, transcribing audio through OpenAI's Whisper, Groq, Gemini, Deepgram, AssemblyAI, NVIDIA, or HuggingFace models, for subtitles or a plain text transcript.

Visual generation: 9router-image creates images across providers including OpenAI, Gemini Imagen, DALL-E, FLUX, MiniMax, SDWebUI, ComfyUI, and Codex models. 9router-video is narrower: it names one provider, generating video only through xAI's Grok Imagine, as an async job. You submit the request, poll the returned request ID until it finishes, then download the resulting MP4.

Finding and reading things on the web: 9router-web-search queries a search backend, drawing on options such as Tavily, Exa, Brave, Serper, SearXNG, Google's Programmable Search, Linkup, SearchAPI, You.com, or Perplexity, and returns results for a question. 9router-web-fetch does something different: give it one URL and it converts that page into markdown, plain text, or HTML through Firecrawl, Jina Reader, Tavily Extract, or Exa Contents, rather than searching for anything.

Data for retrieval: 9router-embeddings generates vector embeddings through OpenAI, Gemini, Mistral, Voyage, Nvidia, or GitHub embedding models, for RAG pipelines, semantic search, or similarity comparisons.

When it pays off, and when it doesn't

This plugin does nothing by itself. Every one of its 9 skills is a client for a running 9Router instance, so the gateway has to be installed and configured on its own, outside Claude Code, before any of these skills can reach a model. If you already have one AI subscription with quota you never come close to using, adding a second service to route around limits you don't hit is extra setup for no real benefit.

Where it earns its place is the opposite case: you switch between more than one AI coding tool (the project's own summary names Claude Code, Cursor, Antigravity, GitHub Copilot, Codex, Gemini, OpenCode, Cline, and OpenClaw among them), or you regularly burn through a subscription's quota and want a request to fall through to a cheap or free provider instead of failing outright, or you want image, video, audio, embedding, and search calls to share the same endpoint and key management as your chat calls. Because the entry skill routes to the other eight by description, you do not need to memorize which skill name maps to which task; you ask for what you want and the matching skill fires.

How do I install it

Flowy indexes decolua/9router from its public GitHub repository, where these 9 skills sit in their own directory alongside the rest of the 9Router source. Install from the listing page linked at the top of this guide, and the skills above become available in that session, provided you already have a 9Router instance running somewhere for them to call.

Common questions

What does the decolua/9router plugin do in Claude Code?
It adds 9 skills that call a separately running 9Router gateway. `9router` is the entry point and setup skill, and the other eight cover chat, images, video, text-to-speech, speech-to-text, embeddings, web search, and web fetch. None of the actual AI calls happen inside Claude Code itself, the skills format a request and send it to 9Router's REST API.
Do I need to run 9Router separately for these skills to work?
Yes. 9Router is its own local or remote service, installed and run outside Claude Code, for example through `npm` or `docker`. The 9 skills in this plugin only format requests and call that running instance, so without it none of them have anything to talk to.
What is the difference between 9router-web-search and 9router-web-fetch?
`9router-web-search` queries a search backend such as Tavily, Exa, Brave, or Perplexity and returns results for a question, the same job a search engine does. `9router-web-fetch` takes one specific URL you already have and converts that page into markdown, text, or HTML through services such as Firecrawl or Jina Reader. One finds pages, the other reads a page you already found.
Can decolua/9router generate video, and how does that work?
Yes, through `9router-video`, which is narrower than the other capability skills: it generates video through exactly one provider, xAI's Grok Imagine, instead of a list of options. It runs as an async job: you submit the request, poll the returned request ID until the job finishes, then download the resulting MP4 file.
How many components does Flowy index for decolua/9router, and are any of them agents or MCP servers?
Flowy indexes 9 components for decolua/9router, and every one of them is a skill. There are no agents, commands, MCP servers, or hooks in this listing, all of the functionality lives in those skill files.