Dev & Engineering web-searchllm-gatewaysearch-apitavilybrave-searchexax-searchapi-proxy

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.

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

The skill is only curl/JS calling instructions against a local 9Router service: no code execution, no file writes, no destructive defaults; keys pass via environment variables, none hardcoded. Deducted for: no disclosure of NINEROUTER_KEY storage/leakage risk, no confirmation or rollback mechanism, and only implicit disclosure that queries are sent to third parties (Tavily/Exa etc.).

2Reliability9 / 20 · 2.3/5

Internally self-consistent: discovery endpoint, request table, examples and response shape all align; parameter and provider-quirks tables corroborate each other. Deducted for: static docs only — no tests, and no error handling or failure feedback for abnormal input (missing key, invalid model id, upstream 401/timeout); Xquik billing/pagination described but unverified.

3Adaptability8 / 15 · 2.7/5

Description clearly states triggers (web search, find articles, X search); field tables and the provider matrix delimit inputs and non-fit boundaries, giving fairly precise semantic invocation. Deducted for: core function depends entirely on overseas search providers with no assessment of mainland-China reachability, and no Chinese-language support statement.

4Convention8 / 15 · 2.7/5

SKILL.md is well layered (discover → endpoint → examples → response → quirks); name/description match actual capability; repo carries MIT license. Deducted for: no skill-level versioning, changelog, FAQ or known-limitations section; setup dependency delegated to an external link into another SKILL.md; maintenance responsibility unclear.

5Effectiveness6 / 15 · 2.0/5

If 9Router is running, the curl examples are directly usable and the documented JSON response shape is parseable as-is; marginal value over hand-wiring each provider API is real. Deducted for: core preconditions (running local service, configured provider keys) are not closed within this document; no execution evidence of output correctness; Xquik per-credit billing adds user cost.

6Verifiability3 / 10 · 1.5/5

Response examples contain concrete fields and usage/metrics structures that plausibly come from a real implementation. Deducted for: all author-supplied examples, no third-party execution evidence, no CI covering this skill's key paths, no independently reproducible verification; fact and inference cannot be separated.

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 is a static source review only; no requests were executed, and capability/response shapes are author claims.
  • Function depends on a locally running 9Router plus third-party search provider keys (Tavily/Brave/Xquik etc.); mainland-China reachability is unverified.
  • Xquik bills 1 credit per returned post — confirm cost before use.
  • Publisher is unverified by the FollowSkills registry (identity unknown); the skill has no independent version number or changelog.
  • API keys are passed via environment variables; avoid leakage into shell history and logs.
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?

One of 9 skills bundled in the decolua/9router repository (an MIT-licensed free AI router), located at skills/9router-web-search/SKILL.md. It instructs an AI agent to call 9Router's unified POST /v1/search endpoint, routing queries to Tavily, Exa, Brave, Serper, SearXNG, Google PSE, Linkup, SearchAPI, You.com, Perplexity, or Xquik for web, news, or X/Twitter search. The skill itself is pure instruction — the actual search capability comes from a locally running 9Router instance (default http://localhost:20128). You must install and run 9Router first, then set NINEROUTER_URL (and NINEROUTER_KEY if auth is enabled). It suits anyone who wants their agent to 'search the web, find articles, or search public X posts'.

Guides the agent to first discover available search models via GET $NINEROUTER_URL/v1/models/web (IDs like tavily/search) and inspect per-provider parameters via /v1/models/info; then send a JSON request to POST $NINEROUTER_URL/v1/search with fields like model, query, max_results, search_type (web/news/x), country, language, time_range, and domain_filter; supports X/Twitter search via Xquik (from: operators, queryType: Latest/Top, cursor pagination via pagination.next_cursor); combo models (owned_by:"combo") chain providers with auto-fallback; returns structured results (title, url, snippet, score, citation, usage, metrics).

  1. Developers using Claude Code or Codex who want the agent to look up current documentation or articles while coding
  2. Researchers who need an agent to search public X posts, e.g. tracking a project's release chatter
  3. Self-hosters running SearXNG who want the agent to use an auth-free local search backend
  4. Teams that want automatic cross-provider fallback to avoid single-provider rate limits or outages

What are this skill's strengths and limitations?

Pros
  • Single endpoint aggregating 11 search providers — switching is just changing the model field
  • Structured responses include citations, ranking, latency, and usage metrics for traceable answers
  • Combo models offer cross-provider auto-fallback for higher availability
  • Supports web, news, and X search types plus country/language/time/domain filters
Limitations
  • Hard dependency on a locally running 9Router instance — not standalone
  • Most providers need their own API keys or accounts (SearXNG must be self-hosted; Xquik charges credits per post)
  • Per-provider quirks add friction: google-pse needs cx, Linkup needs depth, others vary — check /v1/models/info
  • No tests or benchmarks for the skill itself are included in the source material

How do you install this skill?

1) Install and run 9Router: npm install -g 9router && 9router (dashboard at http://localhost:20128); 2) Place the skills/9router-web-search/ folder in your Agent Skills directory (e.g. ~/.claude/skills/ for Claude Code); 3) Set export NINEROUTER_URL=http://localhost:20128 in the agent environment, plus NINEROUTER_KEY if auth is enabled. SKILL.md provides no dedicated install script; installation follows the generic Agent Skills convention.

How do you use this skill?

The agent triggers on phrases like 'search the web', 'find articles', or 'search public X posts' and follows SKILL.md. Manual verification: curl -X POST $NINEROUTER_URL/v1/search -H "Authorization: Bearer $NINEROUTER_KEY" -H "Content-Type: application/" -d '{"model":"tavily","query":"9Router open source","max_results":5}'. For X search set model to xquik, add provider_options.queryType, and paginate with pagination.next_cursor (Xquik charges 1 credit per returned post; add its API key in 9Router's provider settings). google-pse requires cx via providerOptions.

More skills from this repository

All from decolua/9router

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.

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.

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 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 Speech-to-Text Skill

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

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.

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 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.

Related skills