← Back to Skills Marketplace
xieshaocong33ethan

Exa

by XieShaocong33Ethan · GitHub ↗ · v1.2.1
cross-platform ✓ Security Clean
979
Downloads
2
Stars
6
Active Installs
5
Versions
Install in OpenClaw
/install exa-full
Description
AI-powered web and code search, content extraction, URL crawling, and asynchronous research with customizable schema and filters using EXA_API_KEY.
README (SKILL.md)

Exa - Search + Research

Use this skill for web search, code-context search, URL content extraction, and async research workflows.

What This Skill Does

  • Run Exa web search with optional category and domain filters.
  • Retrieve full page content (and optional subpage crawling).
  • Find code and docs context for programming queries.
  • Run async research tasks (one-shot or create/poll workflows).
  • Support optional structured outputs via outputSchema.

Setup

Set EXA_API_KEY using one of these methods.

export EXA_API_KEY="your-exa-api-key"
# .env next to SKILL.md
EXA_API_KEY=your-exa-api-key

Behavior:

  • If EXA_API_KEY is missing in the environment, scripts load only EXA_API_KEY from .env.
  • Other .env variables are ignored by the loader.

Safety and Data Handling

  • SCHEMA_FILE content is sent to https://api.exa.ai/research/v1 as outputSchema.
  • Never use sensitive local files for SCHEMA_FILE (for example: .env, key/cert files, secrets, internal confidential docs).
  • research_create.sh blocks obvious sensitive paths/suffixes (for example: .env, .pem, .key, .p12, .pfx, id_rsa).

Command Quick Reference

Search

bash scripts/search.sh "query"

Main env vars:

  • NUM=10 (max 100)
  • TYPE=auto (auto, neural, fast, deep, instant)
  • CATEGORY= (company, research paper, news, tweet, personal site, financial report, people)
  • DOMAINS=domain1.com,domain2.com
  • EXCLUDE=domain1.com,domain2.com
  • SINCE=YYYY-MM-DD
  • UNTIL=YYYY-MM-DD
  • LOCATION=NL

Constraints:

  • EXCLUDE is not supported when CATEGORY=company or CATEGORY=people.
  • SINCE and UNTIL are not supported when CATEGORY=company or CATEGORY=people.
  • When CATEGORY=people, DOMAINS accepts LinkedIn domains only (linkedin.com, www.linkedin.com, *.linkedin.com).

Content Extraction

bash scripts/content.sh "url1" "url2"

Main env vars:

  • MAX_CHARACTERS=2000
  • HIGHLIGHT_SENTENCES=3
  • HIGHLIGHTS_PER_URL=2
  • SUBPAGES=10
  • SUBPAGE_TARGET="docs,reference,api"
  • LIVECRAWL=preferred (preferred, always, fallback)
  • LIVECRAWL_TIMEOUT=12000

Code Context Search

bash scripts/code.sh "query" [num_results]

Research (One-shot)

bash scripts/research.sh "instructions"

Main env vars:

  • MODEL=exa-research or MODEL=exa-research-pro
  • SCHEMA_FILE=path/to/schema.json
  • POLL_INTERVAL=2
  • MAX_WAIT_SECONDS=240
  • EVENTS=true

Research (Create/Poll)

bash scripts/research_create.sh "instructions" | jq
bash scripts/research_poll.sh "researchId" | jq

Agent Decision Rules

Choose TYPE for Search

Use this decision order:

  1. User explicitly asks for realtime or autocomplete -> TYPE=instant.
  2. Task needs broad coverage or deeper synthesis -> TYPE=deep.
  3. User asks for speed/quality balance -> TYPE=fast.
  4. Otherwise -> TYPE=auto (default).

Fallback/escalation:

  • If too slow or time-sensitive: deep -> auto -> fast -> instant.
  • If too shallow: instant -> fast -> auto -> deep.
  • Explicit user requirement always wins.

Recommended pattern:

TYPE=auto bash scripts/search.sh "query"

Common Pitfalls

  • Do not pass sensitive files to SCHEMA_FILE.
  • Do not combine CATEGORY=people|company with EXCLUDE, SINCE, or UNTIL.
  • Prefer https://docs.exa.ai/ for subpage crawling seeds (more reliable than https://exa.ai/docs/reference/).

More Examples

See EXAMPLES.md for grouped command examples and edge-case workflows.

Usage Guidance
This package appears to be a straightforward client for Exa's APIs. Before installing: (1) Only provide an EXA_API_KEY you trust — the scripts send it as x-api-key to api.exa.ai. (2) Do not point SCHEMA_FILE at sensitive local files; the tool will upload the schema JSON to Exa (there is a filename guard for obvious secrets, but it is not foolproof). (3) The scripts use curl/jq to make network requests to api.exa.ai/docs.exa.ai/exa.ai; if you do not want network access, do not install. (4) If you need stricter protection, use a scoped or ephemeral API key and inspect calls in an isolated environment first.
Capability Analysis
Type: OpenClaw Skill Name: exa-full Version: 1.2.1 The skill bundle is benign. It demonstrates strong security awareness, particularly in handling the `SCHEMA_FILE` for research tasks. The `research_create.sh` script includes explicit warnings against using sensitive files and implements robust checks to prevent uploading files with sensitive names (e.g., `.env`, `.key`, `id_rsa`), validates file existence and size, and uses `jq -c '.'` for safe JSON parsing. The `scripts/env.sh` file securely loads `EXA_API_KEY` from `.env` without `source`ing the file, and all network calls are exclusively directed to `https://api.exa.ai`. User inputs are safely incorporated into JSON payloads using `jq -n --arg`, preventing shell injection. There is no evidence of data exfiltration, malicious execution, persistence mechanisms, or prompt injection with harmful intent.
Capability Assessment
Purpose & Capability
Name/description match the files and behavior: scripts implement web/search/content extraction/research flows and call https://api.exa.ai endpoints. Requested binaries (curl, jq) and required env var (EXA_API_KEY) are exactly what is needed for this purpose.
Instruction Scope
Runtime instructions and scripts stay within the stated scope (they only read EXA_API_KEY from the environment or .env and call api.exa.ai). The scripts will upload SCHEMA_FILE contents to the research endpoint if provided; the repository includes explicit warnings and a filename-pattern guard that blocks many obvious sensitive paths but does not (and cannot) guarantee safety for arbitrary local files. Users should avoid pointing SCHEMA_FILE at any confidential local data.
Install Mechanism
No install spec; the skill is instruction + shell scripts only. No remote downloads or extracted archives. Low installation risk.
Credentials
Only EXA_API_KEY is required which is proportional to a hosted API client. The only potentially sensitive transmission is SCHEMA_FILE content (intended behavior) — the code explicitly warns about this and implements filename-based guards and a size limit, but uploading arbitrary local files remains a user-controlled risk.
Persistence & Privilege
always:false and no code to modify agent/system configuration or other skills. The skill does not request persistent system privileges or write to other skills' configs.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install exa-full
  3. After installation, invoke the skill by name or use /exa-full
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.2.1
Version 1.2.1 - Added EXAMPLES.md with grouped command examples and edge-case workflows. - SKILL.md updated for clarity and conciseness, with a reorganized structure and quick-reference sections. - Improved documentation on safety: now warns not to use sensitive files as `SCHEMA_FILE` and lists file blocks. - Enhanced explanations on API variable usage, category/domain constraints, and agent decision rules for search types. - Emphasized common pitfalls to help avoid errors and improve reliability.
v1.2.0
Major update: Improves search filtering, introduces LLM guidance for search type selection, and clarifies content crawling with latest domain recommendations. - Added LLM-specific guidance for selecting the optimal `TYPE` (auto, instant, fast, deep) during search, including a detailed decision policy and override rules. - Expanded and clarified filter support for `CATEGORY`, noting some combinations of filters are not supported by the API (e.g., `EXCLUDE`, `SINCE`, `UNTIL` with `company`/`people`), and script warnings for skipped filters. - Expanded documentation on `DOMAINS` filter for people search (only LinkedIn domains allowed). - Updated content extraction section to recommend `docs.exa.ai` over the old docs path for subpage crawling, with notes on `CRAWL_NOT_FOUND` errors. - Refined search and content examples for improved usability and compliance with API requirements.
v1.1.1
- Updated metadata: changed the skill emoji from 🕵️‍♀️ to 🔍. - Improved setup instructions: clarified `.env` file should be in the skill root directory and updated the example path. - Updated README to reflect new `.env` placement and improved wording for clarity. - No command or feature changes.
v1.1.0
Version 1.1.0 - `.env` loading behavior changed: only `exa_oc/.env` is used (no longer supports `.env` in the current dir). - Only the `EXA_API_KEY` variable is read from `.env`; all other variables in that file are ignored. - Updated documentation to reflect setup and env file handling changes. - Description clarified to emphasize supported features and use of outputSchema.
v1.0.0
Initial release of Exa AI search + Research API skill. - Powerful AI-powered search across news, people, company, research papers, code, and more. - Content extraction from URLs with optional crawling and highlights. - Async multi-source research with output schema and citation support. - Configurable via EXA_API_KEY in environment variable or .env file. - Command-line scripts for search, code context, content extraction, and research workflows. - Supports advanced search filters (category, domains, dates, search type, etc.).
Metadata
Slug exa-full
Version 1.2.1
License
All-time Installs 8
Active Installs 6
Total Versions 5
Frequently Asked Questions

What is Exa?

AI-powered web and code search, content extraction, URL crawling, and asynchronous research with customizable schema and filters using EXA_API_KEY. It is an AI Agent Skill for Claude Code / OpenClaw, with 979 downloads so far.

How do I install Exa?

Run "/install exa-full" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Exa free?

Yes, Exa is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Exa support?

Exa is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Exa?

It is built and maintained by XieShaocong33Ethan (@xieshaocong33ethan); the current version is v1.2.1.

💬 Comments