exa-unified-research

Installation
SKILL.md

Exa Unified Research

Progressive Disclosure Router

Read only the minimum required reference files:

  • Code examples / API docs / debugging: references/code-search.md
  • Company and market research: references/company-research.md
  • People and profile research: references/people-research.md
  • SEC/earnings/filings: references/financial-report-search.md
  • Academic papers: references/research-paper-search.md
  • Blogs/portfolios: references/personal-site-search.md
  • Social media discussion & X/Twitter sentiment: references/social-discussion.md

For mixed requests, load only the relevant subset and merge results at the end.

Tool Restriction

Primary tools:

  • web_search_exa — general web search (includes code search)
  • web_search_advanced_exa — advanced search with category/domain/date filters

Supplement (when search results need deeper reading):

  • web_fetch_exa — fetch full content from specific URLs found in search results

Do not use other Exa tools unless the user explicitly overrides this skill policy.

Deprecated Tool Remapping

The following tools are deprecated — use the remapping instead:

Deprecated → Use
get_code_context_exa web_search_exa
company_research_exa web_search_advanced_exa with category: "company"
people_search_exa / linkedin_search_exa web_search_advanced_exa with category: "people"
crawling_exa web_fetch_exa
deep_search_exa web_search_advanced_exa with type: "deep"
deep_researcher_start/check Exa Research API (not an MCP tool)

Parameter Changes

Old → New
livecrawl livecrawlTimeout (milliseconds) or maxAgeHours
tokensNum removed — use numResults and textMaxCharacters instead

Fallback Strategy

When a search returns insufficient results:

  1. Category not supported by MCP: Some categories in the reference files (notably tweet) are not valid in the current Exa MCP tool. The reference files provide the correct fallback parameters.
  2. Insufficient results: Try removing restrictive filters (category, date, domains) or use type: "deep" for deeper semantic search.
  3. Wrong result types: If domain filtering returns articles about tweets rather than the tweets themselves, widen to no-domain-filter and note the gap.
  4. Content too shallow: Use web_fetch_exa to read the top 2-3 most relevant URLs in full, then synthesize.

Always document fallback attempts and resulting coverage gaps in your output notes.

Global Token Isolation

Avoid large raw Exa outputs in main context. Use task/sub-agent delegation when available:

  • Run Exa calls inside sub-task
  • Deduplicate and normalize before returning
  • Return only distilled output to main context

If sub-agent is unavailable, run narrow iterative queries and summarize aggressively.

Global Query Strategy

  • Include explicit domain terms, entities, versions, and constraints in query
  • Use 2-3 query variations for recall-sensitive tasks
  • Merge and deduplicate by canonical URL/entity key
  • Tune numResults by user intent instead of hardcoding:
    • "a few": 10-20
    • "comprehensive": 50-100
    • explicit number: follow user request

Default Output Contract

For every research task, return all four sections:

## Tools Used
| # | Tool | Parameters | Purpose |
|---|------|-----------|---------|
| 1 | ... | ... | ... |

## Structured Results
(Use a table or compact JSON — pick whichever is clearest for the data type.
 Group by category when mixing academic, news, social, etc.)

## Source URLs with Relevance
| URL | One-Line Relevance |
|-----|-------------------|
| ... | ... |

## Notes: Uncertainty, Conflicts & Coverage Gaps
- List any data conflicts between sources
- Flag data that may be stale or unverifiable
- Document search limitations (e.g., "tweet category unavailable, used news fallback")
- Suggest what a user could do to fill remaining gaps
Related skills

More from nangongwentian-fe/jay-skills

Installs
5
GitHub Stars
12
First Seen
Apr 1, 2026