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.