websearch ยท diff
git:20260531.39e76ac to git:20260905.c68a71a
27 added, 69 removed. Audit A to A.
---
name: websearch
- description: "Power search via Exa MCP. Modes: quick, deep research, code, docs, debug, news, compare. Use when searching the web, finding docs, debugging errors, or researching any topic."
- argument-hint: "[query] [--deep|--code|--docs <lib>|--debug|--news|--compare|--research] [--domain <d>] [--after <date>] [--fresh] [--save <file>] [-n <num>] [--info]"
+ description: Search the web for evidence using the available Exa tools. Prefer concise results and stop when the question is answered.
+ argument-hint: "<query> [--deep|--code|--docs|--debug|--news|--compare|--research|--similar] [filters]"
---
- <objective>
- Execute web searches via Exa MCP with intent-based routing, multi-pass deep research, and structured output with inline citations.
- </objective>
-
- <parameters>
- **Query**: free-text after the skill name
-
- **Modes** (mutually exclusive):
- - *(none)*: quick search, single pass, `web_search_exa`
- - `--deep`: multi-pass deep research with gap-driven iteration (3-5 sub-queries, max 3 passes)
- - `--code`: code examples, API docs, library usage via `get_code_context_exa`
- - `--docs <lib>`: crawl official documentation for a specific library
- - `--debug`: paste error message, find solutions (Stack Overflow, GitHub issues)
- - `--news`: recent news, category:news filter
- - `--compare`: compare 2+ options side by side via parallel queries
- - `--research`: academic papers, category:research paper
- - `--similar <url>`: find pages similar to a given URL
-
- **Filters**:
- - `--after <date>`: results published after date (ISO 8601 or natural: "last week")
- - `--before <date>`: results published before date
- - `--domain <d>`: restrict to domain(s), comma-separated
- - `--exclude <d>`: exclude domain(s)
- - `--fresh`: force live crawl (maxAgeHours=0)
- - `--locale <CC>`: country code for localized results
- - `-n <num>`: number of results (default: 5, max: 20)
-
- **Output**:
- - `--save <file>`: save report to markdown file
- - `--json`: structured JSON output
- - `--full`: full text instead of highlights (more tokens)
+ # Web search
- **Help**:
- - `--info`: display detailed tutorial with all modes, flags, and examples
- </parameters>
+ Use the live Exa tool schemas, not remembered parameter names. Quick lookup:
+ one focused search, then answer with citations. Documentation: find the
+ official page and crawl the relevant section only. Code/debug: use code
+ context, then broaden only when the first results do not answer the issue.
+ News: preserve publication dates. Compare: search the actual alternatives.
+ Research/similar: use supported search parameters; never invent an enum value.
- <state_variables>
- - {mode}: string (detected search mode: quick|deep|code|docs|debug|news|compare|research|similar)
- - {query}: string (cleaned search query)
- - {filters}: object (parsed Exa filters: dates, domains, locale, numResults)
- - {output_opts}: object (save path, json flag, full text flag)
- - {lib_name}: string (library name if --docs mode)
- - {similar_url}: string (URL if --similar mode)
- - {results}: array (accumulated search results across passes)
- - {pass_count}: number (current iteration for deep mode)
- - {gaps}: array (identified knowledge gaps for deep iteration)
- </state_variables>
+ Honor --domain/--exclude, --after/--before, -n, --fresh and requested output
+ format when the tool supports them; explain unsupported filters. Prefer
+ short relevant excerpts, not full pages. Crawl a full passage when needed
+ to verify a key claim. Do not paste raw response metadata twice.
- <entry_point>
- Load `steps/step-00-triage.md`
- </entry_point>
+ --deep permits targeted follow-ups for named remaining gaps, up to three
+ passes including the initial search. Stop sooner when answered, saturated or
+ no new useful evidence appears. No fixed quota of queries or sources. Run
+ independent tool calls together without launching agents for simple lookups.
- <step_files>
- | Step | File | Purpose |
- |------|------|---------|
- | 00 | steps/step-00-triage.md | Parse flags, classify intent, build Exa params |
- | 01 | steps/step-01-search.md | Execute search strategy per mode |
- | 02 | steps/step-02-deep.md | Deep iteration: evaluate, find gaps, re-query |
- | 03 | steps/step-03-report.md | Synthesize, cite, format, optionally save |
- </step_files>
+ Cite each source that supports a claim; distinguish observed facts, inference
+ and uncertainty. Keep dates honest. Write a report only with --save or an
+ explicit request. --json returns structured results. --info uses the existing
+ references/info-text.md.
- <references>
- | File | Content |
- |------|---------|
- | references/domain-presets.md | Curated domain lists per ecosystem/intent |
- | references/query-patterns.md | Optimal Exa query formulation per search type |
- | references/info-text.md | Full tutorial displayed by --info flag |
- </references>
+ ## Execution policy
- <critical>
- ALL web access via Exa MCP only. NEVER use WebSearch, WebFetch, or Context7.
- Tools: mcp__exa__web_search_exa, mcp__exa__get_code_context_exa, mcp__exa__crawling_exa, mcp__exa__web_search_advanced_exa.
- </critical>
+ Work solo. Ask before any subagent or reviewer, even in auto mode. Explain
+ the independent scope and expected benefit first. No hidden advisor, nested
+ delegation, model retuning, repeated successful checks, or progress spam.
+ Use existing context before asking questions. Stop when the requested result
+ is delivered. User stops and scope changes override pending steps.