Agent skill

exa-search

Exa.ai search API integration for neural and keyword web search with content retrieval. Use when implementing web search features, integrating Exa SDK (exa_py, exa-js), or retrieving web content. Triggers on: Exa, exa_py, exa-js, neural search, web search API, search_and_contents, searchAndContents, find_similar, findSimilar, domain filtering, date filtering, text extraction, page summaries, highlights, search auto mode, fast search, search categories, livecrawl, excluding domains, include text, exclude text, EXA_API_KEY.

Stars 4
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/ejirocodes/agent-skills/tree/main/exa/skills/exa-search

Metadata

Additional technical details for this skill

author
ejirocodes
version
1.0.0

SKILL.md

Exa Search Integration

Quick Reference

Topic When to Use Reference
Search Modes Choosing between auto, neural, and keyword search search-modes.md
Filters Domain, date, text, and category filtering filters.md
Contents Text extraction, highlights, summaries, livecrawl contents.md
SDK Patterns Python (exa_py) and TypeScript (exa-js) usage sdk-patterns.md

Essential Patterns

Basic Search (Python)

python
from exa_py import Exa

exa = Exa(api_key="your-api-key")  # or set EXA_API_KEY env var

results = exa.search_and_contents(
    "latest developments in quantum computing",
    type="auto",
    num_results=10,
    text=True,
    highlights=True
)

for result in results.results:
    print(f"{result.title}: {result.url}")
    print(result.text[:500])

Basic Search (TypeScript)

typescript
import Exa from "exa-js";

const exa = new Exa(process.env.EXA_API_KEY);

const results = await exa.searchAndContents(
  "latest developments in quantum computing",
  {
    type: "auto",
    numResults: 10,
    text: true,
    highlights: true,
  }
);

results.results.forEach((result) => {
  console.log(`${result.title}: ${result.url}`);
});

Search with Filters

python
results = exa.search_and_contents(
    "AI startup funding rounds",
    type="neural",
    num_results=10,
    include_domains=["techcrunch.com", "venturebeat.com"],
    start_published_date="2024-01-01",
    text={"max_characters": 2000},
    summary=True
)

Find Similar Links

python
similar = exa.find_similar_and_contents(
    "https://example.com/interesting-article",
    num_results=10,
    exclude_source_domain=True,
    text=True
)

Search Mode Selection

Mode When to Use Notes
auto Default for most queries Exa optimizes between neural/keyword automatically
neural Natural language, conceptual queries Best for "what is...", "how to...", topic exploration
keyword Exact matches, technical terms, names Best for specific product names, error codes, proper nouns

Common Mistakes

  1. Using keyword for conceptual queries - Neural search understands intent better; use auto or neural for natural language questions
  2. Not setting text=True - Search returns URLs only by default; explicitly request content with text=True
  3. Ignoring highlights - Use highlights=True for relevant snippets without downloading full page text
  4. Missing API key - Set EXA_API_KEY environment variable or pass explicitly to constructor
  5. Over-filtering initially - Start with broad searches, then add domain/date filters to refine
  6. Not using summary - For RAG applications, summary=True provides concise context without full page text
  7. Expecting scores in auto mode - Relevance scores are only returned with type="neural"; auto mode doesn't include them

Expand your agent's capabilities with these related and highly-rated skills.

ejirocodes/agent-skills

svelte5-best-practices

Svelte 5 runes, snippets, SvelteKit patterns, and modern best practices for TypeScript and component development. Use when writing, reviewing, or refactoring Svelte 5 components and SvelteKit applications. Triggers on: Svelte components, runes ($state, $derived, $effect, $props, $bindable, $inspect), snippets ({#snippet}, {@render}), event handling, SvelteKit data loading, form actions, Svelte 4 to Svelte 5 migration, store to rune migration, slots to snippets migration, TypeScript props typing, generic components, SSR state isolation, performance optimization, or component testing.

4 0
Explore
ejirocodes/agent-skills

vue-best-practices

Vue 3 and Vue.js best practices for TypeScript, vue-tsc, Volar, and component patterns. Use when writing, reviewing, or refactoring Vue 3 components with TypeScript, configuring Volar/vueCompilerOptions, extracting component types, working with defineModel/withDefaults, setting up Pinia store tests, or debugging Vue tooling issues. Triggers on Vue components, props extraction, wrapper components, template type checking, strictTemplates, vueCompilerOptions, Volar 3, CSS modules, fallthrough attributes, defineModel, withDefaults, deep watch, vue-router typed params, Pinia mocking, HMR SSR, moduleResolution bundler, useTemplateRef, onWatcherCleanup, useId, generic components, reactive props destructure.

4 0
Explore
ejirocodes/agent-skills

exa-research

Exa.ai deep research and answer generation with citations. Use when building research automation, implementing Answer API for Q&A with sources, creating research reports, or using deep search with summaries. Triggers on: Exa Answer, answer endpoint, exa.answer, deep search, research API, Exa Research, async research, research report, citation extraction, summarization with sources, fact verification, streaming answers, research tasks.

4 0
Explore
ejirocodes/agent-skills

exa-rag

Build RAG pipelines with Exa.ai for real-time web retrieval. Use when building retrieval-augmented generation, integrating Exa with LangChain, LlamaIndex, Vercel AI SDK, or implementing AI agents with web search capabilities. Triggers on: RAG pipeline, retrieval augmented generation, Exa LangChain, Exa LlamaIndex, ExaSearchRetriever, ExaSearchResults, Exa MCP, Exa tool calling, Claude tool use, AI agent web search, grounded generation, citation generation, fact checking, hallucination detection, OpenAI compatibility, chat completions.

4 0
Explore
ejirocodes/agent-skills

exa-entities

Exa.ai company and people search for lead generation, competitive intelligence, and data enrichment. Use when searching for companies, finding people profiles, building lead gen tools, or implementing Websets for data collection at scale. Triggers on: Exa company search, Exa people search, category company, lead generation, company research, profile search, LinkedIn profiles, Websets API, data enrichment, company lookup, find companies, competitive intelligence, recruiting, talent search, 1B profiles.

4 0
Explore
ejirocodes/agent-skills

nestjs-best-practices

NestJS 11+ best practices for enterprise Node.js applications with TypeScript. Use when writing, reviewing, or refactoring NestJS controllers, services, modules, or APIs. Triggers on: NestJS modules, controllers, providers, dependency injection, @Injectable, @Controller, @Module, middleware, guards, interceptors, pipes, exception filters, ValidationPipe, class-validator, class-transformer, DTOs, JWT authentication, Passport strategies, @nestjs/passport, TypeORM entities, Prisma client, Drizzle ORM, repository pattern, circular dependencies, forwardRef, @nestjs/swagger, OpenAPI decorators, GraphQL resolvers, @nestjs/graphql, microservices, TCP transport, Redis transport, NATS, Kafka, NestJS 11 breaking changes, Express v5 migration, custom decorators, ConfigService, @nestjs/config, health checks, or NestJS testing patterns.

4 0
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results