agentsclimarketplace

Websearch

Skill Elnora-AI/elnora-websearch-tools/skills/websearch

Routes any web task to the best-fitting search provider (Exa, Tavily, Perplexity, Firecrawl, Valyu). Use when the user asks to "search the web", "look up online", "find information", "research", "deep research", "scrape a page", "extract content from a URL", "crawl a website", "find papers", "find companies", "find people", "fact-check", "get a cited answer", "monitor a page", or asks meta-questions like "which search tool should I use", "what web search do we have", "compare search providers", or when multiple web providers could serve the same request and one must be chosen.From its SKILL.md

Install
npx -y skills add Elnora-AI/elnora-websearch-tools --skill websearch

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.6 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

Web Search Router

Five providers, one decision. This skill picks the provider; the provider's own skill or CLI does the work. Load the provider's skill after routing — it has the exact syntax.

Routing table

Task intentProviderUse
Semantic/neural search — find by meaning, not keywordsExaexa-search skill
Find pages similar to a URL; entity discovery (companies, people, papers, code)Exaexa-search / build-with-exa skills
Get contents/text of result URLs from an Exa searchExaexa-contents skill
General web search, news, quick lookupsTavilytvly search (tavily-search skill)
Extract clean content from 1-20 known URLsTavilytvly extract (tavily-extract skill)
Crawl or map a site's structureTavilytvly crawl / tvly map skills
Synthesized, citation-grounded answer; comparative reasoning; "just answer the question"Perplexitybundled Perplexity skills (this plugin, Sonar API)
Deep-research report, multi-source synthesisPerplexity (sonar-deep-research) or Tavily research; Valyu when a file deliverable is wantedrespective skill
Heavy scraping: JS rendering, anti-bot, screenshots, page interaction, change monitoringFirecrawlfirecrawl CLI + skill family
Whole-site crawl into LLM-ready markdownFirecrawlfirecrawl crawl
Academic literature (arXiv, PubMed, bioRxiv), clinical trials, patentsValyuvalyu search (valyu-cli skill)
Financial/SEC filings, M&A due diligence, GTM/ICP account researchValyuvalyu-cli skill
Research with deliverables (CSV/XLSX/PPTX/DOCX/PDF)Valyuvalyu deepresearch create (valyu-cli skill)

Availability check and fallbacks

Before routing, verify the chosen provider is usable (cheap checks, never print key values):

[ -n "$EXA_API_KEY" ] || grep -qs '^EXA_API_KEY=' ~/.config/elnora-websearch/.env   # same pattern per provider
command -v tvly >/dev/null; command -v firecrawl >/dev/null; command -v valyu >/dev/null

Keys live in ~/.config/elnora-websearch/.env (%USERPROFILE%\.config\elnora-websearch\.env on Windows); process env wins over the file. If the first-choice provider isn't configured, fall back in this order:

  • Semantic search (Exa missing) → Tavily search → Perplexity search-grounded answer
  • General search / extract (Tavily missing) → Tavily works keyless at fair-use volume, so try it anyway → Firecrawl (also has a keyless mode) → Exa
  • Cited answer (Perplexity missing) → Exa answer-style search + you synthesize → Tavily
  • Scrape/crawl (Firecrawl missing) → Tavily extract/crawl → Firecrawl keyless for low volume
  • Academic/financial (Valyu missing) → Exa (papers, filings via neural search) → Perplexity deep research

If nothing is configured at all: Tavily and Firecrawl still work keyless for basic search/extract; for anything more, point the user at /websearch-setup.

Choosing between providers

Exa finds things by meaning (best discovery); Tavily is the pragmatic all-rounder with the strongest recurring free tier and first-party extract/crawl/map; Perplexity doesn't return links, it returns an answer with citations (best when the user wants a conclusion, not a reading list); Firecrawl turns hostile or JS-heavy pages into clean markdown and handles crawling, interaction, and monitoring; Valyu covers corpora the open web doesn't (SEC filings, clinical trials, patents, licensed academic content) and produces file deliverables. Prefer the cheapest adequate tool: a keyless Tavily search beats spending Valyu credits on a general question; one Firecrawl scrape beats a full crawl.

ProviderFree tierCard?Keyless mode
Exa$10 credits on signup (~1,000 searches); +$7/month with payment method on fileNoNo
Tavily1,000 credits/month, recurringNoYes (search + extract, fair-use)
PerplexityNone — prepaid credits; nothing charged until you buyYesNo
Firecrawl1,000 credits/month, recurringNoYes (search/scrape, low volume)
Valyu$10 credits on signup ($20 with work email)NoNo

Conflict arbitration

Firecrawl's umbrella skill claims all web tasks ("replaces WebFetch and WebSearch"). In this multi-provider bundle, this router is the arbiter: when several providers could serve a request, route by the table above, preferring the cheapest adequate tool — do not let Firecrawl's self-description win by default. Firecrawl gets the job when the task actually needs its strengths (JS rendering, anti-bot, site crawling, interaction, monitoring). Never suggest firecrawl setup defaults unless the user explicitly wants Firecrawl to own every web operation.

Not set up yet?

If no provider is configured, run /websearch-setup — it walks through key signup (four of five free tiers need no credit card), installs each vendor's official CLI and skills, and verifies with smoke tests. /websearch-status shows current health; /websearch-update keeps everything on the latest official releases.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 0 of the 12 instructions most web research skills give in ~1.3k tokens

Counted across 292 of the 300 authors here whose files we hold, read 2026-09-06

  • Use web_search_exa for current information and broad discoveryin 22 of 292, across 8 files
  • Cite every claim with a sourcein 21 of 292, across 18 files
  • Configure the Exa MCP server with an API keyin 18 of 292, across 5 files
  • Use get_code_context_exa for code examples and API docsin 16 of 292, across 6 files
  • Verify exact tool names before depending on themin 13 of 292, across 4 files
  • Narrow results with site:, quoted phrase, and intitle: operatorsin 13 of 292, across 4 files
  • Adjust tokensNum lower for snippets, higher for full contextin 13 of 292, across 4 files
  • Break the topic into 3-5 research sub-questionsin 13 of 292
  • Confirm current Exa docs and exposed tool surface before usein 11 of 292, across 2 files
  • Get user confirmation after Phase 1in 10 of 292, across 9 files
  • Prefer primary sources when availablein 10 of 292
  • Verify extracted metadata against original sourcesin 9 of 292, across 5 files

Said here and by no other author read

  • Verify the chosen provider is available before routing
  • Route by the task-intent routing table
  • Load the chosen provider's skill after routing
  • Fall back in the documented order when a provider is missing
  • Prefer the cheapest adequate tool
  • Treat this router as arbiter when providers overlap

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.