test-web-search

Tests the web_search tool end-to-end and diagnoses failures by backend error signature.

10|1|Updated Jul 7, 2026
One-click install
npx skills add https://github.com/catalystctl/catcode --skill test-web-search-catalystctl
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: test-web-search
Source: https://github.com/catalystctl/catcode/tree/main/.catalyst-code/skills/test-web-search
Command: npx skills add https://github.com/catalystctl/catcode --skill test-web-search-catalystctl

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When the built-in web_search tool fails or returns no results, it is hard to tell whether the cause is a stale binary, a missing API key, a truncated SearXNG instance list, or an external block like a DuckDuckGo captcha. This Skill provides a repeatable test procedure and a failure-signature lookup table to pinpoint the root cause quickly. ## Core Features & Use Cases - End-to-end verification: Rebuilds the core binary, runs a known query, and checks that hits render with title, URL, and snippet. - Failure-signature diagnosis: Maps specific error strings (searx.space JSON truncation, DDG captcha, Mojeek 403, Exa/Tavily rate limits) to concrete fixes. - Provider-layer awareness: Distinguishes API-key providers (Exa, Tavily) from the scrape fallback chain (SearXNG, DDG Lite/HTML, Mojeek) and explains cooldown and quota behavior. - Use Case: After editing core/src/search_tool.rs, run this Skill to rebuild the core, execute a test query, and confirm results come from Exa or SearXNG instead of hitting an "all backends failed" error. ## Quick Start Ask the agent to test the web_search tool with a known query and diagnose any failure using the signature table.

Frequently Asked Questions about test-web-search

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test whether the web_search tool works?▼

Rebuild the core with cargo build --bin core, restart the harness, then run web_search with a known query like "Rust programming language homepage" and count 5. A pass shows a header with the provider name and numbered hits with title, URL, and snippet.

Why does web_search fail with an all backends failed error?▼

The error's attempts list shows which backend failed and why. Common causes are a stale core binary missing the 8MB searx.space fix, DuckDuckGo captcha blocks, Mojeek 403s, or missing Exa/Tavily API keys leaving only the flaky scrape path.

How do I fix the searx.space JSON parse EOF error at column 262144?▼

The 262144 error means instances.json was truncated at the 256KB fetch cap. Check git diff for the uncommitted 8MB cap fix, build the working tree with cargo build --bin core, and restart the harness since there is no hot-swap.

Does web_search work without Exa or Tavily API keys?▼

Yes, but it falls back to scraping SearXNG, DuckDuckGo, and Mojeek, which is inherently flaky due to captchas and 403 blocks. Set keys via /search-key exa or /search-key tavily for reliable API-based results.

What can I do when DuckDuckGo serves a captcha to web_search?▼

A DuckDuckGo captcha is an external rate-limit block that cannot be fixed in code. Rely on SearXNG as the primary scrape path, configure Exa or Tavily API keys, or use the fetch tool on a specific URL as a manual fallback.