Agent skill
exa
Web research using Exa search via scripts. Provides web search, advanced filtered search, code context lookup, and URL content extraction. Use when researching topics, finding documentation, looking up code examples, or extracting webpage content. No API key required.
Install this agent skill to your Project
npx add-skill https://github.com/roman-16/.nixos/tree/main/hosts/roman-nixos/modules/pi/skills/exa
SKILL.md
Exa
Web research via the free Exa MCP endpoint. All commands go through scripts/exa.sh. No API key required.
Commands
Search
General web search for any topic.
./scripts/exa.sh search "NixOS flake best practices 2025"
./scripts/exa.sh search "home-manager modules" 15
Advanced Search
Full filter control: categories, date ranges, domains, highlights, summaries.
./scripts/exa.sh search-advanced '{"query": "transformer attention efficiency", "category": "research paper", "startPublishedDate": "2024-01-01", "numResults": 15}'
Parameters:
query(required) — search querynumResults— 1-100 (default: 10)type—auto(default),fast,neuralcategory—company,research paper,news,pdf,github,personal site,people,financial reportincludeDomains/excludeDomains— domain filtersstartPublishedDate/endPublishedDate— ISO 8601 date filtersstartCrawlDate/endCrawlDate— crawl date filtersincludeText/excludeText— text filters (single-item arrays only)additionalQueries— query variations for broader coverageenableSummary/summaryQuery— generate summariesenableHighlights/highlightsQuery/highlightsNumSentences/highlightsPerUrlsubpages/subpageTarget— crawl subpages (1-10)textMaxCharacters/contextMaxCharacters
Category filter restrictions:
company: no domain or date filterspeople: no date/text/excludeDomains filters, only LinkedIn for includeDomains
More examples:
# News with domain filter
./scripts/exa.sh search-advanced '{"query": "NixOS release", "category": "news", "includeDomains": ["nixos.org"], "numResults": 10}'
# GitHub repos
./scripts/exa.sh search-advanced '{"query": "home-manager flake modules", "category": "github", "numResults": 10}'
# With summaries and highlights
./scripts/exa.sh search-advanced '{"query": "Rust async runtime", "category": "personal site", "enableSummary": true, "enableHighlights": true, "numResults": 10}'
Code Context
Find code examples, API docs, library usage from GitHub, Stack Overflow, and docs.
./scripts/exa.sh code-context "Nix builtins.readDir filter by file type"
./scripts/exa.sh code-context "React useState hook examples" 12
Query tips: include the programming language/framework and be specific.
Crawl
Extract full page content from known URLs. Supports batching.
./scripts/exa.sh crawl '["https://nixos.wiki/wiki/Flakes"]'
./scripts/exa.sh crawl '["https://example.com", "https://example.org"]' 5000
Research Workflow
- Start with
searchorsearch-advancedfor discovery - Use
code-contextfor programming-specific queries - Follow up with
crawlon promising URLs for full content - Use
additionalQueriesor multiple searches with varied phrasing for coverage
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
context7
Fetch up-to-date library documentation and code examples via Context7 API. Use when you need current docs for any library/framework, to verify APIs exist, or to get version-specific code examples. No API key required.
browser
Interactive browser automation via Chrome DevTools Protocol. Use when you need to interact with web pages, test frontends, or when user interaction with a visible browser is required.
obsidian-vault
Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.
handoff
Compact the current conversation into a handoff document for another agent to pick up.
edit-article
Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.
scaffold-exercises
Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.
Didn't find tool you were looking for?