| name | exa-agent-cli |
| description | Use the exa-agent CLI for Exa search, contents, answer, context, similar, Websets, monitors, and agent workflows. |
exa-agent CLI skill
Generated by cargo xtask generate-skill; do not edit by hand.
Guidance
- Use capabilities first to discover command metadata.
- Use capabilities (for example capabilities search) for a small command slice.
- Use --dry-run --print-request before live mutations.
- Search is not cursor-paginated: use --num-results and follow error.suggestedCommand when an invocation is rejected.
- Search returns query-aware 800-char highlights by default; use --no-highlights for metadata only, or --text 1500 instead of --text full for capped triage text.
- Search results are under
.data.results[]; verify the live JSON path with exa-agent search "rust async runtimes" --num-results 1 --json | jq '.data.results[] | {title,url}'.
- Filter search with
exa-agent search "AI infrastructure" --include-domain "exa.ai" --num-results 5 --json.
- SOURCE_NOT_AVAILABLE is not a zero-result success. Broaden and filter locally:
exa-agent search "AI infrastructure" --num-results 20 --json | jq '[.data.results[] | select(.url | test("^https?://([^/]+\\.)?exa\\.ai(/|$)"; "i"))]'; cite the accessible publisher rather than treating a syndicator as the original source.
- Contents accepts positional URLS or
--ids: exa-agent contents "https://exa.ai" "https://docs.exa.ai" --text 10000 --json; text accepts bare, full, or numeric caps 1..10000.
- --ndjson emits one object per result for list-shaped data and a final summary envelope; non-list commands fall back to compact JSON.
- Contents/fetch success envelopes add outcome no_content (no failures and no returned rows), partial, or full (one results row per requested item with no failure evidence); missing statuses do not downgrade full coverage, and all-URL failures remain outcome partial with exit 10.
- Empty contents error objects use upstream_reason_unavailable and suggest retrying or direct-fetching the quoted URL.
- Set EXA_AGENT_NO_NETWORK to any value (including empty) to refuse live typed, raw, streaming, auth test/status, schema refresh --check, and doctor --online before credential resolution and transport; unset it to allow live calls, while dry-run and self-description remain available.
- Do not pass managed auth headers; use EXA_API_KEY or auth login.
- Errors are JSON on stderr with stable error.code values; run robot-docs errors for the full dictionary.
Offline examples
exa-agent capabilities --compact
exa-agent capabilities search --compact
exa-agent search "AI infrastructure news" --include-domain "exa.ai" --num-results 5 --dry-run --print-request --compact
exa-agent contents "https://exa.ai" "https://docs.exa.ai" --text 10000 --dry-run --print-request --compact
exa-agent team info --dry-run --print-request --compact