Skip to content
cccskills
FreePublished on GitHub

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 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.

The English summary is being prepared. Showing the original description.

Works withLinkedIn
See how to install

Files included (35)

  • SKILL.md7.7 KB
  • .env.example357 B
  • exa-agent.md5.6 KB
  • README.md5.1 KB
  • references/extraction.md3.0 KB
  • references/filtering.md2.2 KB
  • references/patterns-code.md557 B
  • references/patterns-companies.md1004 B
  • references/patterns-news.md481 B
  • references/patterns-papers.md742 B
  • references/patterns-people.md1.4 KB
  • references/patterns-relationships.md1.4 KB
  • references/searching.md4.9 KB
  • references/source-quality.md2.2 KB
  • references/synthesis.md2.2 KB
  • ruff.toml656 B
  • scripts/exa_cli.py468 B
  • scripts/exa_cli/__init__.py34 B
  • scripts/exa_cli/__main__.py6.6 KB
  • scripts/exa_cli/advanced.py2.2 KB
  • scripts/exa_cli/agent.py8.6 KB
  • scripts/exa_cli/client.py6.7 KB
  • scripts/exa_cli/config_info.py1.3 KB
  • scripts/exa_cli/config.py5.0 KB
  • scripts/exa_cli/fetch.py985 B
  • scripts/exa_cli/output.py1.1 KB
  • scripts/exa_cli/search.py1.7 KB
  • tests/__init__.py0 B
  • tests/_support.py625 B
  • tests/conftest.py315 B
  • tests/test_agent.py18.0 KB
  • tests/test_client_contract.py3.3 KB
  • tests/test_docs.py4.5 KB
  • tests/test_existing_cli.py7.5 KB
  • tests/test_relocation.py1.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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

ToolRequiredOptionalOutput
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, --outFiltered search results JSON
get_config_info–--no-testConfig + (default) connection_test
agent_runexactly one of --query / --run-idschema/input files, data sources, prior-run continuation, effort, wait controls, --outNormalized retained-run lifecycle JSON

Global Options

Place before the subcommand:

OptionPurpose
--api-urlOverride EXA_API_URL (does not write to os.environ)
--api-keyOverride EXA_API_KEY
--debugEnable 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 CaseRecommended Tool
Real-time news, current eventsgrok-search
Semantic/conceptual researchexa (web_search_exa)
Domain or date-bounded researchexa (web_search_advanced_exa)
Read full content of one or more URLsexa (web_fetch_exa)
Academic papers, technical docsexa (web_search_advanced_exa --include-domains arxiv.org ...)
Open-ended discovery, multi-hop research, structured list building, prior-run follow-upexa-agent (agent_run)
Homogeneous enrichment over known rowsDeterministic 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 before creating a run. It defines objective/schema/coverage checks, --run-id versus --previous-run-id, evidence validation, and ZDR limits without duplicating that workflow here.

References

The references/ directory carries 11 prompt-engineering guides. Open them on demand when crafting queries:

FileWhen to read
searching.mdCrafting web_search_exa queries (semantic phrasing, category usage)
extraction.mdChoosing between highlights / text / summary on advanced search
filtering.mdBuilding include/exclude domain & date filters
synthesis.mdAggregating multiple result sets into a coherent answer
source-quality.mdVetting source credibility
patterns-code.mdCode/library research recipes
patterns-companies.mdCompany research recipes
patterns-news.mdCurrent-events research recipes
patterns-papers.mdAcademic paper recipes
patterns-people.mdPeople search recipes
patterns-relationships.mdMulti-entity relationship research

Error Handling

ErrorRecovery
EXA_API_KEY not configuredSet environment variable or pass --api-key
Search/fetch HTTP 408/429/5xxAutomatic retry with exponential backoff (max 4 attempts, capped by --max-retry-wait)
Agent create network/408/429/5xxSingle attempt; report uncertain upstream state and do not create a duplicate
Agent running deadlineResume the same ID with agent_run --run-id ...
HTTP 401Verify API key
TimeoutReduce --num-results or retry

Output Format

All commands print JSON (ensure_ascii=False, indent 2) to stdout. With --out <file>, the response JSON is written to that path and stdout becomes {"status":"ok","file":"<file>"}. Errors go to stderr as {"error":"<message>"} with non-zero exit.

Agent creation and interruption additionally emit one-line JSON progress events to stderr so the retained run ID remains recoverable without corrupting stdout.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Semantic codebase search, code indexing, and prompt enhancement via standalone CLI. Use when: (1) Semantic code search with natural language queries, (2) Code indexing for remote codebase retrieval, (3) Prompt enhancement with codebase context, (4) Before grep/find/glob operations for better accuracy, (5) Complex requirements clarification, (6) Large codebase navigation. Triggers: "search context", "enhance prompt", "find code that", "index project", "clarify requirements". IMPORTANT: Always use ace-tool BEFORE grep/find/glob for semantic-level code location.

The English summary is being prepared. Showing the original description.

Dianel555/DSkills65Updated Oct 12, 2026

Incremental LLM-friendly wiki generator for Obsidian note vaults. Use when: (1) Building wiki from notes, (2) Ingesting notes to wiki, (3) Obsidian LLM wiki, (4) Incremental knowledge base management. Triggers: 'build wiki from notes', 'ingest notes to wiki', 'Obsidian LLM wiki', 'incremental knowledge base'.

The English summary is being prepared. Showing the original description.

Dianel555/DSkills65Updated Oct 12, 2026

Self-evolution workflow for the agent. Before substantive work, recall past outcomes from evolution memory; while editing, detect improvement signals; at task end, record the outcome; when reusable, distill or search the EvoMap network for proven genes/capsules. Use when the user starts non-trivial work (a feature, a fix, a refactor) or asks the agent to "evolve", "learn from this", or "remember how this went".

The English summary is being prepared. Showing the original description.

Dianel555/DSkills65Updated Oct 12, 2026

cc-agy

Free

Delegates coding/research tasks to the Google Antigravity CLI (`agy`) for external-model execution (Gemini 3.x, Claude Sonnet/Opus 4.6, GPT-OSS). Replaces the broken `collaborating-with-gemini` skill. Use when: (1) External-model delegation via Antigravity, (2) Multi-model prototyping (switch model per call), (3) Backend/logic implementation, (4) Algorithm design and optimization, (5) Bug analysis and debugging, (6) API/database code generation, (7) Code review. Triggers: "delegate to agy", "use Antigravity", "external model", "agy", "Gemini 3.5", "Claude Sonnet 4.6", "GPT-OSS". IMPORTANT: Always request unified diff patches only. Supports multi-turn sessions via SESSION_ID.

The English summary is being prepared. Showing the original description.

Dianel555/DSkills65Updated Oct 12, 2026

Delegates coding tasks to Codex CLI for prototyping, debugging, and code review. Use when: (1) Backend/logic implementation, (2) Algorithm design and optimization, (3) Bug analysis and debugging, (4) API/database code generation, (5) Code quality review and refactoring. Triggers: "implement algorithm", "debug", "analyze code", "backend task", "API implementation", "optimize performance", "refactor", "generate prototype", "code review". IMPORTANT: Default sandbox="read-only" (analysis/review/patch generation); use sandbox="workspace-write" only when codex must run tests/builds to verify. Always request unified diff patches only. Supports multi-turn sessions via SESSION_ID.

The English summary is being prepared. Showing the original description.

Dianel555/DSkills65Updated Oct 12, 2026

Delegates coding tasks from Codex to local Claude Code in print mode while preserving Claude's normal runtime customizations by default. Use when: (1) You want Codex to call Claude Code locally, (2) You need Claude-side skills, plugins, MCP servers, custom commands, CLAUDE.md rules, or workspace settings to stay active, (3) You want resumable Claude sessions from Codex via SESSION_ID, (4) You need thin `claude mcp` / `claude plugin` passthrough from the same bridge.

The English summary is being prepared. Showing the original description.

Dianel555/DSkills65Updated Oct 12, 2026

See all skills by Dianel555

Report a problem with this skill