Install
openclaw skills install @ruti3/search-auto-routing-planPlan which search provider to use before multi-provider skills run — score query signals, pick Serper/Tavily/Exa/Brave/Firecrawl, define fallback chain, and document why.
openclaw skills install @ruti3/search-auto-routing-planProduce a search routing plan before invoking multi-provider skills (web-search-plus, custom routers, or chained search tools). Routers execute automatically but rarely explain why a provider was chosen — this skill makes routing explicit, auditable, and tunable.
This skill does not call search APIs, store API keys, or fetch live results.
Use when the user mentions:
Not for: routing LLM prompts between local/cloud models (see task-complexity skills).
Do not request or echo API keys for any search provider.
Do not claim live search results — planning only.
Do not recommend circumventing robots.txt, paywalls, or provider ToS.
Privacy: If the query contains PII, recommend providers/modes that minimize logging and note user consent.
Score each dimension 0–2 (0=low, 1=medium, 2=high):
| Signal | 0 | 1 | 2 |
|---|---|---|---|
| Specificity | vague exploration | named topic | exact entity/error/ID |
| Freshness | evergreen | weeks | hours/breaking |
| Depth | quick fact | multi-source | deep research |
| Structure | prose pages | mixed | docs/repos/PDFs |
| Privacy | public OK | semi-sensitive | PII/regulated |
| Provider | Best when | Weak when |
|---|---|---|
| Serper (Google) | exact matches, site: queries, local/business | fuzzy conceptual discovery |
| Tavily | research synthesis, Q&A style answers | single known URL lookup |
| Exa | neural/semantic discovery, similar pages, companies/papers | literal error strings |
| Brave | privacy-weighted general web, independent index | deep academic corpora |
| Firecrawl | known URL → clean markdown extract | open-ended discovery |
Tie-breakers: cost ↑ with depth; latency ↑ with crawl/extract.
| Signal | Score (0–2) |
|---|---|
| Specificity | |
| Freshness | |
| Depth | |
| Structure | |
| Privacy |
| Field | Value |
|---|---|
| Provider | Serper / Tavily / Exa / Brave / Firecrawl |
| Mode | keyword / neural / extract / answer |
| Why | 1–2 sentences tied to signal scores |
| Query for provider | provider-optimized phrasing |
Optional YAML for downstream skills:
primary: serper|tavily|exa|brave|firecrawl
fallback: []
maxResults: 5-10
extractContent: true|false
freshness: null|ISO range
Good rationale: “Freshness=2 + Depth=2 → Tavily primary for synthesized recent coverage; Serper fallback for exact product name confirmation.”
Bad rationale: “Use Exa for better results.”
Good fallback: “If Exa returns <3 corporate homepages, retry Serper with site:linkedin.com/company {name}.”