Skip to content
Development
Skill

/exa

High-precision semantic search and content retrieval via Exa API. Use when: (1) Deep research requiring semantic understanding, (2) Code documentation and examples lookup, (3) Company/professional research, (4) AI-powered comprehensive research tasks, (5) URL content extraction

From plugin
dskills
6519 skills

Claude Code

$ npx -y skills add Dianel555/DSkills --skill exa --agent claude-code

SKILL.md

exa.SKILL.md
name: exa
description: |
  High-precision semantic search and content retrieval via Exa API. Use when: (1) Deep research requiring semantic understanding, (2) Code documentation and examples lookup, (3) Company/professional research, (4) AI-powered comprehensive research tasks, (5) URL content extraction with structured output. Triggers: "research", "find papers", "code examples", "company info", "LinkedIn profiles", "deep analysis". Differentiator: Exa excels at semantic/neural search while grok-search is better for real-time news and general web content.

Exa Search

High-precision semantic search via Exa API. Standalone CLI only (no MCP dependency).

Execution Method

# Prerequisites: pip install httpx tenacity
# Environment: EXA_API_KEY (required), EXA_API_URL (optional, default: https://api.exa.ai)

# All examples assume cwd == skills/exa/. The shim auto-chdirs if you launch
# it from elsewhere (e.g., the repo root).
cd skills/exa
python scripts/exa_cli.py --help

Available Tools

# Basic semantic search (highlights always on; supports inline category:<type>)
python scripts/exa_cli.py web_search_exa --query "TypeScript design patterns" [--num-results 10]
python scripts/exa_cli.py web_search_exa --query "category:company Anthropic AI safety"

# Batch URL fetch (urls is a repeatable flag; payload field is upstream `ids`)
python scripts/exa_cli.py web_fetch_exa \
  --urls "https://a.com" --urls "https://b.com" \
  [--max-chars 3000] [--out content.json]

# Advanced filtered search (list params are repeatable flags, no comma syntax)
python scripts/exa_cli.py web_search_advanced_exa --query "transformer" \
  [--type auto|fast|instant] [--category research\ paper] \
  [--include-domains arxiv.org --include-domains papers.nips.cc] \
  [--exclude-domains medium.com] \
  [--include-text "attention"] [--exclude-text "tutorial"] \
  [--start-date 2024-01-01] [--end-date 2024-12-31] \
  [--num-results 10] [--max-age-hours 168] \
  [--text] [--highlights] [--summary] \
  [--max-chars 5000]   # only effective when --text is set; emits stderr warning otherwise
  [--out results.json]

# Configuration / connectivity probe (omit --no-test to run a numResults=1 ping)
python scripts/exa_cli.py get_config_info [--no-test]

# Create an Agent run or resume the same retained run
python scripts/exa_cli.py agent_run --query "Research an evidence-backed market map" [--effort low]
python scripts/exa_cli.py agent_run --run-id agent_run_123 [--wait-seconds 750]

Tool Capability Matrix

| Tool | Required | Optional | Output | |------|----------|----------|--------| | `web_search_exa` | `--query` | `--num-results` (1-100) | Search results JSON (highlights always present) | | `web_fetch_exa` | `--urls` (repeatable, ≥1) | `--max-chars` (default 3000), `--out` | `/contents` response JSON | | `web_search_advanced_exa` | `--query` | `--type`, `--category`, repeatable `--include-domains`/`--exclude-domains`/`--include-text`/`--exclude-text`, `--start-date`, `--end-date`, `--num-results`, `--max-age-hours`, `--text`, `--highlights`, `--summary`, `--max-chars`, `--out` | Filtered search results JSON | | `get_config_info` | – | `--no-test` | Config + (default) `connection_test` | | `agent_run` | exactly one of `--query` / `--run-id` | schema/input files, data sources, prior-run continuation, effort, wait controls, `--out` | Normalized retained-run lifecycle JSON |

Global Options

Place before the subcommand:

| Option | Purpose | |--------|---------| | `--api-url` | Override `EXA_API_URL` (does not write to `os.environ`) | | `--api-key` | Override `EXA_API_KEY` | | `--debug` | Enable JSON debug events on stderr (`EXA_DEBUG=true`) — never logs auth values | | `--max-retry-wait <s>` | Cap (seconds) for single retry wait + exponential backoff (default 60, env: `EXA_MAX_RETRY_WAIT`) | | `--auth-scheme <scheme>` | Authentication scheme: `x-api-key` (default) or `bearer` for third-party endpoints (env: `EXA_AUTH_SCHEME`) |

Tool Routing Guide

| Use Case | Recommended Tool | |----------|------------------| | Real-time news, current events | grok-search | | Semantic/conceptual research | **exa** (`web_search_exa`) | | Domain or date-bounded research | **exa** (`web_search_advanced_exa`) | | Read full content of one or more URLs | **exa** (`web_fetch_exa`) | | Academic papers, technical docs | **exa** (`web_search_advanced_exa --include-domains arxiv.org ...`) | | Open-ended discovery, multi-hop research, structured list building, prior-run follow-up | [exa-agent](exa-agent.md) (`agent_run`) | | Homogeneous enrichment over known rows | Deterministic script with bounded concurrency, backoff, checkpoint, and stable output file |

Workflow Patterns

Pattern 1: Quick Semantic Search

python scripts/exa_cli.py web_search_exa --query "best practices for React hooks" --num-results 5

Pattern 2: Filtered Research (repeatable flags)

python scripts/exa_cli.py web_search_advanced_exa --query "transformer architecture" \
  --include-domains arxiv.org --include-domains papers.nips.cc \
  --start-date 2023-01-01 --text --summary

Pattern 3: Batch URL Read

python scripts/exa_cli.py web_fetch_exa \
  --urls "https://example.com/a" --urls "https://example.com/b" \
  --max-chars 4000 --out batch.json

Pattern 4: Third-Party Endpoint (Bearer Auth)

# Connect to exa-pool or other Exa-compatible proxy
export EXA_API_URL=https://pool.example.com
export EXA_AUTH_SCHEME=bearer
export EXA_API_KEY=your-bearer-token

python scripts/exa_cli.py web_search_exa --query "AI agents" --num-results 5

# Or use CLI flags for one-off requests
python scripts/exa_cli.py --auth-scheme bearer --api-url https://pool.example.com \
  web_search_exa --query "AI agents"

Pattern 5: Exa Agent

Read [exa-agent.md](exa-agent.md) before creating a run. It defines objective/schema/coverage checks, `--run-id` versus `--previous-run-id`, evidence validation, and Z

Read more
@dianel555
Ships withdskills

CLI tools skills for AI coding assistants (Claude Code, Codex, Antigravity CLI).

Stars on GitHub

Momentum

stars in total
65
Star history of Dianel555/DSkills on GitHub, a chart by star-history.com

Other skills on dskills.

ace-tool

ace-tool

Semantic codebase search, code indexing, and prompt enhancement via standalone CLI. Use when: (1) Semantic code search with…

@dianel555@dianel555Install Skill
agent-wiki

agent-wiki

Incremental LLM-friendly wiki generator for Obsidian note vaults. Use when: (1) Building wiki from notes, (2) Ingesting notes to…

@dianel555@dianel555Install Skill
capability-evolver

capability-evolver

Self-evolution workflow for the agent. Before substantive work, recall past outcomes from evolution memory; while editing, detect…

@dianel555@dianel555Install Skill
cc-agy

cc-agy

Delegates coding/research tasks to the Google Antigravity CLI (`agy`) for external-model execution (Gemini 3.x, Claude…

@dianel555@dianel555Install Skill
cc-codex

cc-codex

Delegates coding tasks to Codex CLI for prototyping, debugging, and code review. Use when: (1) Backend/logic implementation, (2)…

@dianel555@dianel555Install Skill
codex-cc

codex-cc

Delegates coding tasks from Codex to local Claude Code in print mode while preserving Claude's normal runtime customizations by…

@dianel555@dianel555Install Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about exa.

Which coding agents can use exa?
exa installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.