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/

Keep looking

Skills are one crate of 325,949. 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.