본문으로 건너뛰기
cccskills
무료GitHub에 공개

exa-search

Searches the web through Exa 3.0 with six Python scripts—lite/auto/deep search with category, domain, and date filters, Dynamic Highlights, structured output with field-level citations, clean extraction from known URLs, cited answers, and the async Agent API for list building, enrichment, and multi-hop research. This skill should be used for any web search, fact lookup, current events, finding papers, companies, people, or news, reading known URLs, questions that need cited answers, building lists of entities that match criteria, or enriching records with web data. It is the default web search tool (built-in WebSearch is blocked). Triggers on search the web, look up, find pages, research with citations, Exa, list of companies, enrich.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(27)

  • SKILL.md8.2 KB
  • codex-agent-guide.md1.9 KB
  • evals/evals.json2.8 KB
  • README.md3.1 KB
  • references/agent-api.md4.8 KB
  • references/exa-docs-2026-10-19/exa-spec.yaml392.4 KB
  • references/exa-docs-2026-10-19/INDEX.md2.1 KB
  • references/exa-scripts-reference.md11.3 KB
  • scripts/_exa_common.py19.3 KB
  • scripts/exa_agent.py15.5 KB
  • scripts/exa_contents.py16.3 KB
  • scripts/exa_research_async.py1.3 KB
  • scripts/exa_research.py15.8 KB
  • scripts/exa_search.py21.8 KB
  • scripts/exa_similar.py15.0 KB
  • scripts/fixtures/agent_error_budget_fixed.json554 B
  • scripts/fixtures/agent_run_completed.json895 B
  • scripts/fixtures/agent_run_created.json613 B
  • scripts/fixtures/answer_response.json3.0 KB
  • scripts/fixtures/answer_stream.sse3.5 KB
  • scripts/fixtures/INDEX.md876 B
  • scripts/fixtures/search_auto_text_output.json7.7 KB
  • scripts/fixtures/search_ignored_field_warning.json5.3 KB
  • scripts/fixtures/search_lite_summary_400.json255 B
  • scripts/fixtures/search_lite.json10.1 KB
  • scripts/test_exa.py24.2 KB
  • scripts/test_offline.py27.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Exa Search

Six scripts over Exa 3.0 (API spec 2.0.0, synced 2026-10-19). S=~/.claude/skills/exa-search/scripts.

Prerequisite: EXA_API_KEY (https://dashboard.exa.ai).

Pick the Script

TaskCommand
Quick lookup, cheapestpython3 $S/exa_search.py "query" --lite --highlights --no-text
General web searchpython3 $S/exa_search.py "query" --highlights --no-text
Papers / companies / people / news... exa_search.py "query" --category publication (or company, people, news)
Read known URLspython3 $S/exa_contents.py URL1 URL2 --highlights --no-text
Cited answerpython3 $S/exa_research.py "question" --sources
Cited answer from specific sites/dates... exa_research.py "question" --domains a.org --after 2026-01-01 (routes to /search)
One synthesized answer or JSON from a search... exa_search.py "question" --text-output "Short answer" / --schema-preset company
Multi-step research, lists, enrichmentpython3 $S/exa_agent.py run "task" --effort medium (see references/agent-api.md)
Pages like a URLpython3 $S/exa_similar.py URL (deprecated endpoint; prefer a descriptive exa_search.py query)

Token-Efficient Recipe

Search cheaply → pick URLs → extract selectively → reason.

python3 $S/exa_search.py "query" --lite --highlights --no-text -n 10      # ranked excerpts, no full text
python3 $S/exa_contents.py URL1 URL2 --highlights-query "what I need" --no-text
python3 $S/exa_contents.py URL1 --max-chars 5000                          # full text only when needed
  • Highlights beat full text: 500 chars of highlights match 8,000 chars of text on SimpleQA.
  • Text is on by default in exa_search.py; --no-text saves context, not dollars (lite and auto bundle contents for 10 results).
  • --dynamic (Dynamic Highlights) shares one budget across all results—use it when the results feed one context.
  • Filter at the API: --domains, --exclude-domains, --category, --after/--before.
  • Post-filter JSON: ... --json | python3 ~/.claude/skills/firecrawl/scripts/filter_web_results.py --fields "title,url,highlights" --max-chars 3000.

Search Types and Cost

FlagLatency$/1k requestsNotes
--lite~450ms$4Cache only. Accepts query, --objective, category, -n, domains, dates, text, highlights, --snapshot-as-of, --location, --safe—nothing else
(default auto)~1s$7Best balance; full parameter set
--deep-lite~4s$12Lightweight synthesis; --additional-queries
--deep4–15s$12Multi-step search and synthesis
legacy --fast / --instant / --deep-reasoning / --neural—$7 / $4 / $15 / —Still accepted with a stderr hint

Extras: results above 10 add $1/1k; --summary adds $1/1k pages; exa_contents.py is $1/1k pages per content type; exa_research.py is $5/1k. Agent runs: medium $0.10 (script default), auto metered ≤$5, ultra metered ≤$20; full effort table in references/agent-api.md.

Structured Output

--text-output "desc", --output-schema JSON, --schema-file F, or --schema-preset (company, paper-survey, competitor-analysis, person, news-digest) work on every type except lite, within 10 properties in total (nested and array-item properties count) and 2 levels; every array needs items. The answer arrives in output.content; output.grounding gives per-field citations with [H]/[M]/[L] confidence. Add --system-prompt for format or tone.

Gotchas

  • /answer has no source filters. exa_research.py sends --domains, --exclude-domains, --after, --before, and -n to /search (auto + text schema, $7/1k) and says so on stderr. Without them it uses /answer, where --model exa|exa-pro|exa-fast|exa-research and --stream apply.
  • Lite rejects summary, schemas, system prompts, freshness, context, subpages, and extras with a 400 that names the field. Drop --lite.
  • Lite drops uncached pages when text or highlights are requested, so fewer than -n results is normal; rerun without --lite when coverage matters.
  • /search object schemas cap at 10 properties in total and 2 nesting levels. Larger shapes go to exa_agent.py. Never add citation or confidence fields—grounding has them.
  • --dynamic sends the Exa-Beta: dynamic-highlights-2026-08-28 header and cannot combine with --highlights-max-chars.
  • --category company/people reject --after/--before; people also rejects --exclude-domains. --category publication rejects --domains (400 UNSUPPORTED_PUBLICATION_INCLUDE_FILTER, probed 2026-10-19 on arxiv.org, openreview.net, nature.com, jstor.org): pin venues with --domains and no category; --exclude-domains works with it.
  • Categories: research paper is now publication (auto-mapped); pdf/github were deprecated in Exa's 2026-07-23 changelog and now pass as soft hints; tweet is rejected.
  • Warnings vs notices: warnings (ignored or deprecated fields) go to stderr; notices (e.g. restrictions relaxed) print with the results—read them before trusting the results.
  • Repeated list flags accumulate: --domains a.com --domains b.com and --domains a.com,b.com both send both domains.
  • Freshness: --max-age-hours 0 always fetches fresh, -1 is cache only. --livecrawl still works but is mapped (always→0, preferred→1, never→-1). --snapshot-as-of DATE returns historical versions: pay-as-you-go gets a 100-request trial, a rolling 5-month window, and 10 results or 1 contents URL per request; Free gets 403. It excludes freshness flags, --subpages, --category, and --deep.
  • Deprecated but sent: --must-include/--must-exclude (approximate word matching), --context, and --subpages on search (use exa_contents.py --subpages).
  • Retired: exa_research_async.py (Research API returns 410, probed 2026-10-19) prints the exa_agent.py equivalent and exits 2.
  • Agent runs are async and cost money: the script always sends --effort (default medium) and polls to completion. Pair --effort auto/ultra with --max-cost (otherwise the cap is $5/$20); fixed efforts reject it. If polling is lost, the run continues and the script prints status RUN_ID --wait (exit 3).
  • Exit codes: 0 ok; 1 API, network, or failed/cancelled run; 2 usage; 3 agent run still going; 4 exa_research.py got no answer. exa_contents.py exits 1 when every URL failed.

Exa vs Other Tools

NeedTool
Semantic search, papers, companies, peopleExa exa_search.py
Researched lists, enrichment, multi-hopExa exa_agent.py
Single page → clean markdownFirecrawl scrape --only-main-content
Crawl an entire siteFirecrawl crawl
Twitter/X contentjina URL
Exa inside an MCP clienthttps://mcp.exa.ai/mcp (web_search_exa, web_fetch_exa, web_search_advanced_exa, agent_run)

References

FileContents
references/exa-scripts-reference.mdEvery flag of every script, legacy-flag map, output shapes, tests
references/agent-api.mdAgent API: effort choice, task writing, schemas, budgets, run lifecycle
references/exa-docs-2026-10-19/Exa docs and OpenAPI spec snapshot (source of truth for this sync)

Tests

python3 $S/test_exa.py --quick              # offline: no key, no network
python3 $S/test_exa.py                      # offline + live (~$0.15)
python3 $S/test_exa.py --endpoint agent     # live, one endpoint

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Search academic papers, build literature reviews, and synthesize research findings — combines Exa search (publication category, domain and date filters) with arxiv-mcp-server for paper discovery, download, and deep analysis. Triggers on academic paper, literature review, research synthesis, arxiv, find papers, scholarly search.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tdimino/claude-code-minoan412026년 10월 20일 업데이트

Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tdimino/claude-code-minoan412026년 10월 20일 업데이트

This skill should be used when creating, auditing, or maintaining AGENTS.md files and Codex CLI configuration for any project—including initializing AGENTS.md for cross-agent compatibility (Codex, Cursor, Copilot, Devin, Jules, Amp, Gemini CLI), generating config.toml or .rules files, scaffolding .agents/skills/, converting CLAUDE.md to AGENTS.md, or auditing existing agent configs for bloat and staleness. Complementary to codex-orchestrator (which executes subagents; this skill creates the config files they consume).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tdimino/claude-code-minoan412026년 10월 20일 업데이트

Academic research skill for Biblical Hebrew, Semitic linguistics, cuneiform studies, and comparative Ancient Near Eastern research. Provides Sefaria API for Hebrew Bible, CDLI/ORACC for cuneiform databases, and web discovery via Omnisearch, Exa, Firecrawl, and Obscura for finding scholarly sources across JSTOR, Perseus, Persée, Google Scholar, and academia.edu. Triggers on Hebrew quotes, cuneiform, Sefaria, ANE research, Minoan, search for scholarship, find papers, literature review, scholarly search, academic search, Genesis/Tehom, Ugaritic, Talmudic sources, extract from PDF, OCR academic.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tdimino/claude-code-minoan412026년 10월 20일 업데이트

Build comprehensive ARCHITECTURE.md files following matklad's canonical guidelines — bird's-eye views, ASCII/Mermaid diagrams, codemaps, invariants, and layer boundaries. Triggers on document the architecture, create ARCHITECTURE.md, map this codebase, architectural overview.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tdimino/claude-code-minoan412026년 10월 20일 업데이트

Generate physically-based atmospheric scattering shaders — sky domes, planetary atmospheres, LUT-optimized pipelines, depth-aware post-processing. Four modes — sky-dome, atmosphere-post, planet, lut. Triggers on atmospheric scattering, sky shader, sunset rendering, planet atmosphere, Rayleigh scattering, Mie scattering, volumetric sky, sky dome, atmosphere post-processing, aerial perspective, transmittance LUT, sky rendering, realistic sky, planetary rendering.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tdimino/claude-code-minoan412026년 10월 20일 업데이트

tdimino의 스킬 모두 보기

이 스킬의 문제 신고