exa-search
A Claude Code skill from Affaan M's everything-claude-code repo that wraps the Exa MCP server for neural web search — web_search_exa for current info / news / company / people, get_code_context_exa for code examples and API docs from GitHub / Stack Overflow / docs sites. Drift-prone since Exa tool names and category labels change.
Use Exa's neural search for web / code / company / people research instead of generic web search
Trigger phrases
Phrases that activate this skill when typed to Claude Code:
search for current AI developmentsfind Rust error handling code examplesresearch a company via Exa
What it does
exa-search is the Exa-neural-search wrapper skill in Affaan M’s everything-claude-code — see skills/exa-search. It surfaces two Exa MCP tools: web_search_exa for general web search with parameters for numResults (default 8), type (default auto), livecrawl (default fallback), and optional category (company, research paper, etc.); get_code_context_exa for code examples and API docs from GitHub, Stack Overflow, and documentation sites with a tokensNum parameter (1000–50000, default 5000) controlling depth.
The skill is explicit that it’s drift-prone — Exa MCP tool names, parameters, and account limits change. The current setup documents the tools exposed in this version, but the operator should verify the current Exa server’s tool surface before depending on specific names in production work. Usage patterns: quick lookups (numResults: 3), code research (tokensNum: 3000 for focused snippets, 5000+ for comprehensive context), company / people research with category: "company" or site:linkedin.com/in operators, technical deep-dives that combine a general web search with a focused get_code_context_exa pass.
Related-skills pointers: deep-research is the full research workflow that combines Exa with firecrawl, market-research is the business-decision variant. exa-search is the thin wrapper — it’s the right pick when the operator needs Exa specifically rather than a multi-source research synthesis.
When to use it
- Operator needs current web information or news beyond the model’s training cutoff
- Searching for code examples, API documentation, or technical references —
get_code_context_exais shaped specifically for this - Researching companies, competitors, market players via
category: "company" - Finding professional profiles or people in a specific domain via
site:operators - Background research for any development task — the lighter pattern when full
deep-researchis overkill - Operator says “search for”, “look up”, “find”, “what’s the latest on”
When not to reach for it:
- Multi-source research with synthesis and citations — that’s
deep-research - Customer research for marketing — that’s
customer-research - Internal company knowledge — Exa is web-shaped
- Pure factual lookup that doesn’t need web access — answer directly
Install
From affaan-m/everything-claude-code at skills/exa-search/. Drop the folder into ~/.claude/skills/exa-search/. The runtime requires the Exa MCP server configured in ~/.claude.json — the upstream shows the pattern:
"exa-web-search": {
"command": "npx",
"args": ["-y", "exa-mcp-server"],
"env": { "EXA_API_KEY": "YOUR_EXA_API_KEY_HERE" }
}
Get an API key at exa.ai. The skill is explicit that current Exa exposes web_search_exa and get_code_context_exa as the two tools — if the server exposes more, verify the names against the current docs before relying on them.
What a session looks like
- Operator names the search intent. “What are the current best practices for Rust async error handling?”
- Skill picks the tool. “Best practices” + “Rust async error handling” = code research →
get_code_context_exawithtokensNum: 3000for focused snippets. - Result inspection. Comes back with snippets from docs.rs, GitHub repos, Stack Overflow. Inline references with URLs.
- Follow-up search for context. If the snippets reference a specific crate (e.g.
thiserrororanyhow), a follow-upweb_search_exa(query: "thiserror vs anyhow current trade-offs", numResults: 5)adds the discussion layer. - Synthesize. Skill assembles the answer from both passes, with inline source links so the operator can verify.
- For company / people research.
web_search_exa(query: "<company> funding valuation 2026", numResults: 3, category: "company")orsite:linkedin.com/in <role> <company>for professional profiles.
The discipline that makes it work: tool-fit. web_search_exa for breadth and current info, get_code_context_exa for depth on code. Using web_search_exa for code questions or get_code_context_exa for general info wastes the neural search’s strengths in both directions.
Receipts
TODO — to be filled in from a real session. Once the skill has been used against real Exa queries, this section will capture: how often the auto type setting picked the right search mode vs. needing explicit override, which tokensNum value (1000 / 3000 / 5000) actually surfaced the right depth for the operator’s typical code-research questions, whether the category: "company" parameter still returned company-shaped results or had drifted, and which Exa tool name had changed since the skill was authored (the upstream flags this as drift-prone).
Source and attribution
From Affaan M’s everything-claude-code — an MIT-licensed skill collection covering harness construction, agent ops, video, payments, and platform-specific patterns.
License: MIT.
Quoting the drift warning verbatim: “Exa MCP tool names, parameters, and account limits can change. Confirm the exposed tool surface and current Exa docs before relying on a specific search mode.” That’s the operator’s discipline — don’t commit prompts that depend on specific Exa tool names without verifying them against the current server first.