exa-search
AI-powered web search via Exa with content extraction. Use when user says "exa search", "web search with content", "find similar pages", or needs broad web results beyond academic databases (arXiv, Semantic Scholar).
By wanshuiyin · 346 installs
npx skills add wanshuiyin/auto-claude-code-research-in-sleep --skill exa-search
Source repository · Upstream listing
Exa AI Powered Web Search
Search query: $ARGUMENTS
Role & Positioning
Exa is the broad web search source with built in content extraction:
Skill Best for
/arxiv Direct preprint search and PDF download
/semantic scholar Published venue papers (IEEE, ACM, Springer), citation counts
/deepxiv Layered reading: search, brief, section map, section reads
/exa search Broad web search: blogs, docs, news, companies, research papers — with content extraction
Use Exa when you need results beyond academic databases, or when you want content (highlights, full text, summaries) extracted alongside search results.
Constants
EXA FETCHER — canonical name exa search.py , resolved per
[ shared references/integration contract.md ](../shared references/integration contract.md) §2
(Policy D1 — standalone /exa search has no documented fallback,
so unresolved helper terminates with an explicit error).
MAX RESULTS = 10 — Default number of results to return.
Overrides (append to arguments):
/exa search "RAG pipelines" — max: 5 — top 5 results
/exa search "diffusion models" — category: research paper — research papers only
/exa search "startup funding" — category: news, start date: 2025 01 01 — recent news
/exa search "transformer" — content: text, max chars: 8000 — full text mode
/exa search "transformer" — content: summary — LLM generated summaries
/exa search "transformer" — domains: arxiv.org,huggingface.co — domain filter
/exa search "https://arxiv.org/abs/2301.07041" — similar — find similar pages
Setup
Exa requires the exa py SDK and an API key:
Set your API key:
Get a key from [exa.ai](https://exa.ai).
Workflow
Step 1: Parse Arguments
Parse $ARGUMENTS for:
query : The search query (required) or a URL (for find similar mode)
similar : If present, use find similar mode instead of search
max : Override MAX RESULTS
category : research paper , news , company , personal site , financial report , people
content : highlights (default), text , summary , none
max chars : Max characters for content extraction
type : Search type — auto (default), neural , fast , instant
domains : Comma separated include domains
exclude domains : Comma separated exclude domains
include text : Phrase that must appear in results
exclude text : Phrase to exclude from results
start date : ISO 8601 date — only results after this
end date : ISO 8601 date — only results before this
location : Two letter ISO country code
Step 2: Locate Script
Resolve $EXA FETCHER via the canonical strict safe chain (see
[ shared references/integration contract.md ](../shared references/integration contract.md) §2).
Policy D1 cascade: there is no native inline fallback for Exa
(retrieval requires the exa py SDK + API key, which lives in the
fetcher), so unresolved helper means the SKILL cannot produce its
primary output — fail with explicit remediation.
Step 3: Execute Search
Standard search:
With filters:
Find similar pages:
Get content for known URLs:
Step 4: Present Results
Format results as a structured table:
For each result:
Show title and URL
Show published date if available
Show highlights, text excerpt, or summary depending on content mode
Flag particularly relevant results
For category: "research paper" hits only — also record authors
(from Exa's author / authors fields, or fallback: parse from the
result snippet) and venue/publisher (from publisher , source , or
the domain hosting the paper). These are needed by Step 6's wiki
hook; if either is unavailable for a given hit, skip wiki ingest
for that one hit and log a note.
Step 5: Offer Follow up
After presenting results, suggest:
Deepen : "I can fetch full text for any of these results"
Find similar : "I can find pages similar to any result"
Narrow : "I can re search with domain/date/text filters"
Step 6: Update Research Wiki (if active, research paper results only)
Required when research wiki/ exists AND the search returned
results of category: "research paper" ; skip silently otherwise.
General web results (blog posts, docs, news) are not ingested —
the wiki is for papers only.
When the predicates hold, resolve $WIKI SCRIPT per the canonical
chain at
[ shared references/wiki helper resolution.md ](../shared references/wiki helper resolution.md)
(Variant B — warn and skip). For each research paper hit, try to
recover an arXiv ID from the URL ( arxiv.org/abs/<id ); if present,
use arxiv id . Otherwise fall back to manual metadata:
The helper handles slug / dedup / page / index / log — do not
handwrite papers/<slug .md . See
[ shared references/integration contract.md ](../shared references/integration contract.md).
Key Rules
Always check that EXA API KEY is set before searching
Default to highlights content mode for a good balance of speed and context
Use category: "research paper" when the user is clearly looking for academic content
Use text content mode when the user needs full page content
Combine with /arxiv or /semantic scholar for comprehensive literature coverage