From benedictking-skills
Performs semantic web search, finds similar pages, retrieves content, looks up research papers, and discovers GitHub repos using the Exa API.
How this skill is triggered — by the user, by Claude, or both
Slash command
/benedictking-skills:exa-searchThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Choose Exa endpoint based on user intent:
Choose Exa endpoint based on user intent:
type: "auto" by default.type: "deep" or type: "deep-reasoning" and optional outputSchema./research and /research/v1 are deprecated and were hard-removed on 2026-05-01. Do not use them for new calls; migrate research-style requests to /search with type: "deep-reasoning".
This skill uses a two-phase architecture:
Use Task tool to invoke exa-fetcher sub-skill, passing command and JSON (stdin):
Task parameters:
- subagent_type: Bash
- description: "Call Exa API"
- prompt: cat <<'JSON' | node scripts/exa-api.cjs <search|contents|findsimilar|answer>
{ ...payload... }
JSON
The script still accepts the legacy research command for backwards compatibility, but it normalizes the payload and sends it to /search with type: "deep-reasoning".
cat <<'JSON' | node scripts/exa-api.cjs search
{
"query": "Latest research in LLMs",
"type": "auto",
"numResults": 10,
"category": "research paper",
"includeDomains": [],
"excludeDomains": [],
"startPublishedDate": "2025-01-01",
"endPublishedDate": "2025-12-31",
"contents": {
"highlights": true,
"summary": true
}
}
JSON
Search Types:
auto: Balanced defaultfast: Low latencyinstant: Lowest latencydeep-lite: Lightweight synthesized outputdeep: Multi-step search with reasoning and structured outputsdeep-reasoning: Highest-effort deep search for complex research tasksTreat older neural references as legacy terminology; prefer auto for normal searches.
Categories:
company, people, research paper, news, personal site, financial report, etc.cat <<'JSON' | node scripts/exa-api.cjs contents
{
"ids": ["result-id-1", "result-id-2"],
"text": true,
"highlights": true,
"summary": true
}
JSON
cat <<'JSON' | node scripts/exa-api.cjs findsimilar
{
"url": "https://example.com/article",
"numResults": 10,
"category": "news",
"includeDomains": [],
"excludeDomains": [],
"startPublishedDate": "2025-01-01",
"contents": {
"text": true,
"summary": true
}
}
JSON
cat <<'JSON' | node scripts/exa-api.cjs answer
{
"query": "What is the capital of France?",
"numResults": 5,
"includeDomains": [],
"excludeDomains": []
}
JSON
Use /search with type: "deep-reasoning" and outputSchema for research-style synthesized output.
cat <<'JSON' | node scripts/exa-api.cjs search
{
"query": "What are the latest developments in AI?",
"type": "deep-reasoning",
"stream": false,
"systemPrompt": "Prefer official sources and provide specific, grounded findings.",
"outputSchema": {
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "The main topic"
},
"key_findings": {
"type": "array",
"description": "List of key findings",
"items": {
"type": "string"
}
}
},
"required": ["topic"]
}
}
JSON
/search returns synthesized content in output.content and field-level citations/confidence in output.grounding when outputSchema is used. Do not add citation or confidence fields to the schema.
Two ways to configure API Key (priority: environment variable > .env):
EXA_API_KEY.env file: Place in .env, can copy from .env.exampleAll endpoints return JSON with:
requestId: Unique request identifierresults: Array of search resultssearchType: Type of search performed (for search endpoint)context: LLM-friendly context string (if requested)costDollars: Detailed cost breakdownnpx claudepluginhub benedictking/benedictking-skillsSemantic/embeddings-based search, similar content discovery, and structured research by category using Exa API.
Performs high-precision semantic search and content retrieval via Exa API. Supports deep research, code documentation lookup, company research, and URL content extraction with structured output.
Searches the web and retrieves code context, documentation, and full-text content via Exa's neural search API. Requires EXA_API_KEY.