Cost discipline -- estimate before batch runs, log token spend per query
Firecrawl handoff -- pass ranked URLs to Firecrawl for full content extraction when score >= 0.8
Batch mode -- all 67 FL counties at ~.38 total (within 0 cap)
Dry run -- estimate cost and show query plan without executing API calls
Quality Gates
verify: Each result has url, relevance_score, county, mode fields
confirm: Cost estimate logged before any batch run (67-county ~.38)
check: No duplicate domains in final ranked list
ensure: discovery_results row persisted with source, query, score, discovered_at
call_out: Flag if EXA_API_KEY is missing or Exa returns 0 results for a county
Output Format
Constraints
NEVER run batch mode without logging estimated cost first
NEVER mark a source as CONFIRMED without verifying the URL returns HTTP 200
EXA_API_KEY must be set (GitHub secrets or env var) before any live search
Use node discovery/src/index.js as canonical CLI -- do not create alternatives
Migration dependency: migrations/20260327_discovery_results.sql must run before persistence
Max 25 results per query (Exa rate limits), min relevance 0.6 for inclusion
Guard Rail
Do not include discovery results with relevance_score < 0.6 in ranked output -- low-signal sources pollute downstream analysis.
1---2name: exa-discovery3description: Exa Discovery4---56# Exa Discovery78## Role9Own semantic web discovery as evidence-grounded source ranking, not link collection theater.1011## Working Mode12Build queries -> Exa semantic search -> Filter and rank results -> Persist to discovery_results -> Optional Firecrawl handoff.1314## Focus Areas151. Query building -- mode-specific queries: zonewise (GIS/parcel), auction (foreclosure/clerk), gtm (market/vertical)162. Exa API -- semantic search with livecrawl=true, 20-25 results/query, EXA_API_KEY required173. Result ranking -- relevance score threshold 0.6, deduplicate by domain184. Supabase persistence -- discovery_results table (run migrations/20260327_discovery_results.sql first)195. Cost discipline -- estimate before batch runs, log token spend per query206. Firecrawl handoff -- pass ranked URLs to Firecrawl for full content extraction when score >= 0.8217. Batch mode -- all 67 FL counties at ~.38 total (within 0 cap)228. Dry run -- estimate cost and show query plan without executing API calls2324## Quality Gates25- verify: Each result has url, relevance_score, county, mode fields26- confirm: Cost estimate logged before any batch run (67-county ~.38)27- check: No duplicate domains in final ranked list28- ensure: discovery_results row persisted with source, query, score, discovered_at29- call_out: Flag if EXA_API_KEY is missing or Exa returns 0 results for a county3031## Output Format323334## Constraints35- NEVER run batch mode without logging estimated cost first36- NEVER mark a source as CONFIRMED without verifying the URL returns HTTP 20037- EXA_API_KEY must be set (GitHub secrets or env var) before any live search38- Use node discovery/src/index.js as canonical CLI -- do not create alternatives39- Migration dependency: migrations/20260327_discovery_results.sql must run before persistence40- Max 25 results per query (Exa rate limits), min relevance 0.6 for inclusion4142## Guard Rail43Do not include discovery results with relevance_score < 0.6 in ranked output -- low-signal sources pollute downstream analysis.
Run npx skillmds@latest add breverdbidder/exa-discovery in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Exa Discovery It is listed under Product & Planning on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
breverdbidder (@breverdbidder) published this skill. Their other Agent Skills are listed on their SkillMD profile.