agentsclimarketplace

Exa x search

Skill CodeAlive-AI/exa-skills/exa-x-search

Search X/Twitter posts with Exa, filtered to x.com/twitter.com. Use for finding tweets or threads on a topic. NOTE: Exa's X coverage is limited (the tweet category was retired and X blocks crawlers), so results are often sparse — the skill is honest about this and suggests fallbacks. Runs a local script against the Exa API; no MCP server required.From its SKILL.md

Install
npx -y skills add CodeAlive-AI/exa-skills --skill exa-x-search

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

2.7 KB, 607 tokens by cl100k_base, as published. Nobody here has run it

X / Twitter Search (Exa)

Search posts on x.com / twitter.com via Exa. Calls the Exa REST API through a local script; no MCP server needed, only an EXA_API_KEY.

⚠️ Read this first — coverage is limited

Exa retired the tweet category, and X blocks most crawlers, so X/Twitter content is sparsely indexed. This skill:

  • filters results to x.com/twitter.com client-side (--only-domains), so you never get off-domain noise dressed up as tweets;
  • often returns few or zero results — that's expected, not a bug;
  • prints a clear note and fallback suggestions when empty.

For reliable social/sentiment coverage, treat this as best-effort and use the fallbacks below.

Setup (once)

export EXA_API_KEY=your-key            # or EXA_API_KEY=... in a .env at the repo root

Get a key at https://dashboard.exa.ai/api-keys. Shared details: exa-native-base.

Run it

python scripts/x_search.py "<topic / handle / thread>" [-n N] [--json]

Examples:

python scripts/x_search.py "Anthropic Claude launch reactions" -n 15
python scripts/x_search.py "founder thread lessons scaling startup" -n 15

The script forces --include-domains x.com,twitter.com and --only-domains x.com,twitter.com. If it returns sources_reviewed: 0, that's the coverage limit, not an error.

Fallbacks when X coverage is thin

  1. Find discussion about the topic on the open web (Reddit, HN, blogs, news):
    python ../exa-company-research/scripts/company_research.py "<topic> reaction analysis commentary" -c news -n 15
    python ../exa-native-base/scripts/exa.py search "<topic> discussion hacker news reddit" -n 15
    
  2. Read a known thread/profile directly (if you have the URL):
    python ../exa-native-base/scripts/exa.py contents https://x.com/<user>/status/<id> --text
    
  3. Use a dedicated X/Twitter API for real-time, exhaustive social data — Exa is not the right tool for that.

After you get results

  • Verify each result is actually a relevant x.com/twitter.com post (the domain filter guarantees the host, not the relevance).
  • Be explicit in your answer about coverage: state how many on-platform posts you found and whether you fell back to the open web.
  • Deliver: author/handle · post link · one-line gist; note the recency.

What ships with it: 1 file

1.6 KB alongside SKILL.md, 1 of them executable

scripts/

Gives 0 of the 12 instructions most mcp tooling skills give in 607 tokens

Counted across 638 of the 750 authors here whose files we hold, read 2026-08-07

  • Create ten complex or independent read-only evaluation questionsin 69 of 638, across 15 files
  • Test servers using MCP Inspectorin 61 of 638, across 19 files
  • Provide actionable error messages with specific next stepsin 54 of 638, across 12 files
  • Prioritize comprehensive API coverage over specific workflows or workflow toolsin 54 of 638, across 12 files
  • Use TypeScript and Streamable HTTP for remote servers or clientsin 54 of 638, across 8 files
  • Define structured output schemas where possiblein 50 of 638, across 8 files
  • Use Zod or Pydantic for input schemasin 47 of 638, across 5 files
  • Fetch MCP specification pages with markdown suffixin 46 of 638, across 4 files
  • Load framework documentation using WebFetchin 45 of 638, across 3 files
  • Verify each evaluation answer independentlyin 45 of 638, across 3 files
  • Implement API client with authentication and paginationin 45 of 638, across 3 files
  • Define input schemas with validationin 27 of 638, across 9 files

Said here and by no other author read

  • Set the EXA_API_KEY environment variable
  • Run the local x_search.py search script
  • Filter results to x.com or twitter.com domains
  • Use open web search fallbacks when X coverage is empty
  • Read a known post URL directly via contents script
  • Verify each result is a relevant x.com or twitter.com post

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,782. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.