文档

Search Auto-Routing Plan

试用

Plan which search provider to use before multi-provider skills run — score query signals, pick Serper/Tavily/Exa/Brave/Firecrawl, define fallback chain, and...

它能做什么

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

技能文档

Search Auto-Routing Plan

Purpose

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

When to use

Use when the user mentions:

  • Auto-routing across Serper, Tavily, Exa, Brave, Firecrawl, Perplexity, etc.
  • Which search provider fits a query
  • Web Search Plus or unified search skills
  • Reducing search cost or improving result quality via smarter routing
  • Fallback chains when the first provider returns thin results

Not for: routing LLM prompts between local/cloud models (see task-complexity skills).

Safety and boundaries

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.

Required inputs

  1. Search goal — what answer or artifact is needed.
  2. Query or task description — the actual text to search for (or “generate from goal”).
  3. Constraints — freshness, geography, max latency, budget sensitivity, offline/air-gapped.
  4. Available providers (optional) — which keys/skills the user actually has; default to common stack: Serper, Tavily, Exa, Brave, Firecrawl.
  5. Output need — snippets, full page text, structured JSON, citations only.

Signal scoring

Score each dimension 0–2 (0=low, 1=medium, 2=high):

Signal012
Specificityvague explorationnamed topicexact entity/error/ID
Freshnessevergreenweekshours/breaking
Depthquick factmulti-sourcedeep research
Structureprose pagesmixeddocs/repos/PDFs
Privacypublic OKsemi-sensitivePII/regulated

Provider fit (default rubric)

ProviderBest whenWeak when
Serper (Google)exact matches, site: queries, local/businessfuzzy conceptual discovery
Tavilyresearch synthesis, Q&A style answerssingle known URL lookup
Exaneural/semantic discovery, similar pages, companies/papersliteral error strings
Braveprivacy-weighted general web, independent indexdeep academic corpora
Firecrawlknown URL → clean markdown extractopen-ended discovery

Tie-breakers: cost ↑ with depth; latency ↑ with crawl/extract.

Workflow

  1. Restate goal and score the five signals.
  2. Rank providers 1–3 with short rationale.
  3. Output plan (format below) including fallback chain (if #1 thin → try #2).
  4. Suggest query tweaks per primary provider (keyword vs neural phrasing).

Output format

Search routing plan — {short goal}

SignalScore (0–2)
Specificity
Freshness
Depth
Structure
Privacy

Primary route

FieldValue
ProviderSerper / Tavily / Exa / Brave / Firecrawl
Modekeyword / neural / extract / answer
Why1–2 sentences tied to signal scores
Query for providerprovider-optimized phrasing

Fallback chain

  1. If <condition> then <provider + query adjustment>

Executor hints

Optional YAML for downstream skills:

primary: serper|tavily|exa|brave|firecrawl
fallback: []
maxResults: 5-10
extractContent: true|false
freshness: null|ISO range

Post-route quality checks

  • Top results match entity type and freshness
  • Snippets are answer-bearing (not directory pages)
  • Cost/latency within stated constraints
  • Fallback triggered if <3 usable sources

Quality bar

  • Every pick cites signals — no “use Tavily because it’s good.”
  • Fallbacks are conditional — not a generic provider list.
  • Queries differ by provider — Serper keywords ≠ Exa sentences.
  • Respects available providers — don’t recommend Firecrawl if user only has Serper.

Examples

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

相关技能

Plan Exa neural web searches before calling any Exa wrapper — craft queries, pick categories, set domain/date filters, define fallbacks, and decide when Exa...

1 次安装

DEFAULT search skill for OpenClaw. Aggregates Tavily, Firecrawl, Exa, and optional X/social search behind one search path. Use for ANY external lookup that n...

23 次安装1 星标

在多个 Tavily API key 之间路由搜索请求,按配额自动选 key 并故障转移。

17 次安装1 星标