← ClaudeAtlas

exa-searchlisted

Advanced Exa AI search with 5 specialized scripts for neural web search, content extraction, similar page discovery, quick research with citations, and async pro research with structured output. This skill should be used when performing web searches, extracting content from URLs, finding similar pages, or conducting AI-powered research. Provides full access to all Exa API endpoints including /search, /contents, /findSimilar, /answer, and /research/v1.
tdimino/claude-code-minoan · ★ 32 · API & Backend · score 82
Install: claude install-skill tdimino/claude-code-minoan
# Exa Search Skill 5 specialized scripts for Exa AI search API—neural search, content extraction, similar pages, research with citations, and async pro research. **Prerequisite:** `EXA_API_KEY` environment variable. Get key at https://dashboard.exa.ai ## Token-Efficient Search Inspired by Anthropic's [dynamic filtering](https://claude.com/blog/improved-web-search-with-dynamic-filtering)—always filter before reasoning. ~24% fewer tokens, ~11% better accuracy. ### The Principle: Search Cheaply → Filter → Extract Selectively → Reason **DO:** ```bash # Step 1: Search with --no-text (titles/URLs only — cheapest) python3 ~/.claude/skills/exa-search/scripts/exa_search.py "query" -n 20 --no-text # Step 2: Evaluate titles, pick best 3-5 URLs # Step 3: Extract only those URLs with bounded content python3 ~/.claude/skills/exa-search/scripts/exa_contents.py URL1 URL2 --highlights --max-chars 3000 ``` **DON'T:** Search with full text for 50 results, then reason over all of it. ### Use API-Level Filters First (Free Filtering) These reduce results at the API level before you ever see them: - `--must-include "term"` — results must contain this string - `--must-exclude "term"` — removes irrelevant results - `--domains site1.com site2.com` — restrict to authoritative sources - `--category "research paper"` — eliminate irrelevant content types - `--after 2025-01-01` / `--before` — temporal filtering ### Use Summaries Over Full Text When you need the gist, not raw content: ```bash