twitter-research
Skill2 starsChanged 40 days agoApache-2.0View on GitHub
Use this skill when the user wants read-only Twitter/X research on the SELAT-native Twitter API (catalog.selat.ai) — profiles, recent tweets, mentions, followers, tweet details/replies/retweeters, topic search, and trends. Triggers on "who is @X on Twitter", "recent tweets from X", "who's mentioning X", "how did this tweet do / who replied / who retweeted", "search X for <topic>", "is <topic> trending". `selat skill run twitter-research` pays all 9 reads (~$0.009); for a narrower ask, pay only the reads you need with individual `selat-pay` calls. For cross-platform entity footprints use `account-intel`; for topic sentiment grounded in web search use `social-intel`.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- SELAT-AI/selat-openclaw-skillstheir own version, first seen Jul 26, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- SELAT-AI/selat-openclaw-skills★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository19 other files it gives its agents.
- account-intelSkill
- comprehensive-enrichmentSkill
- email-campaignSkill
- enrich-waterfallSkill
- financial-intelSkill
- find-twitter-influencersSkill
- gtm-enrichment-deepSkill
- gtm-enrichment-smartSkill
- lead-enrichmentSkill
- perplexity-searchSkill
- person-lookupSkill
- recent-funding-roundsSkill
- sales-prospectingSkill
- scrapecreatorsSkill
- self-evolving-agentSkill
- social-intelSkill
- stock-direction-signalsSkill
- vc-ai-infra-scoutSkill
- wallet-desk-briefSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 23
Use for read/lookup tasks on X: profiling an account, pulling someone's recent posts, seeing who mentions or follows them, analyzing how a …
- Very specific: line 41
All 9 reads (~$0.009): use this for a broad sweep, or when the request touches most of the table.
- Very specific: line 67
Start with the one read that answers the ask.
- Distinctive: line 111
Read-only + public-only: No posting/engagement; protected accounts error.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
twitter-research
A read-only research toolkit for Twitter/X, backed by SELAT's own first-party
Twitter API (catalog.selat.ai). The manifest wires 9 GET reads at $0.001
each. selat skill run always runs all 9 (about $0.009). When a request needs
only one or two reads, the agent pays just those with individual selat-pay
calls. No API keys, keyless pay-per-call.
When To Use
Use for read/lookup tasks on X: profiling an account, pulling someone's recent posts, seeing who mentions or follows them, analyzing how a specific tweet landed (replies + retweeters), searching for a topic/keyword, or checking regional trends. Read-only — it does not post, like, or follow, and cannot see protected/private accounts.
Workflow
selat skill run twitter-researchruns all 9 steps, every time. The runner has no step-selection flag. Any param you don't pass falls back to its default (openai,AI agents, tweet20, worldwide trends), so a full run also pays for reads you didn't ask about. Pick the path that fits the request.
- Install:
selat skill install twitter-research - Map the request to the reads it needs (table below), then tell the user the cost and wait for a yes — "this is N SELAT-native Twitter reads, about $0.00N — go ahead?"
- Run it one of two ways:
- All 9 reads (~$0.009): use this for a broad sweep, or when the request
touches most of the table. Pass every param so no default leaks in:
selat skill run twitter-research --handle <handle> --query "<query>" --tweetId <id> --woeid <woeid> - Only the reads you need ($0.001 each): pay each selected URL from the
table in
references/endpoints.mdwith its ownselat-paycall. For example:selat-pay GET "https://catalog.selat.ai/twitter/user/info?userName=<handle>" --chain <chain holding your Gateway balance> --max-amount 0.01A paidselat-paycall needs an armed session budget (selat budget start). Its--chainnames the chain holding your Gateway balance; don't hardcode one.
- All 9 reads (~$0.009): use this for a broad sweep, or when the request
touches most of the table. Pass every param so no default leaks in:
- Synthesize for the user in plain language: give the answer, not the JSON. Lead with the finding and the dollar cost. Keep endpoint URLs, wallet addresses, and tweet IDs out of what you relay.
| The user wants… | Reads | Params |
| Who is @X / their profile & authority | user/info | handle |
| What X has posted lately | user/last_tweets | handle |
| Who's talking to/about X (reach) | user/mentions | handle |
| X's audience / follower sample | user/followers | handle |
| A profile deep-dive | user/info + user/last_tweets (+ user/mentions) | handle |
| What people are saying about a topic | tweet/advanced_search | query |
| Is a topic trending / regional trends | trends | woeid |
| Topic monitor (chatter + trending) | tweet/advanced_search + trends | query, woeid |
| A specific tweet's content & counts | tweets | tweetId |
| How a tweet was received | tweets + tweet/replies + tweet/retweeters | tweetId |
- Start with the one read that answers the ask. Add a second (e.g.
user/mentionsafteruser/info) only if the user wants more. advanced_searchaccepts the full X operator surface inquery(from:,to:,#tag,$CASHTAG,min_faves:,since:/until:,lang:en).
Inputs And Outputs
| Param | Required | Default | Description |
handle | no | openai | Handle without @; used by user/info, user/last_tweets, user/mentions, user/followers. |
query | no | AI agents | X search query; used by tweet/advanced_search. |
tweetId | no | 20 | Numeric tweet ID; used by tweets, tweet/replies, tweet/retweeters. |
woeid | no | 1 | Yahoo WOEID (1 = worldwide); used by trends. |
Output: per-step JSON (all 9 on a full run, or just the reads you paid for), which the agent distills into a short answer for the user (profile summary, tweet list with engagement, mention/follower read, tweet-reception breakdown, topic chatter, or trend list — whichever was asked).
Gotchas
selat skill runpays all 9 reads. The 9 steps are independent reads, but the runner executes every step and has no way to skip one. To pay for a subset, make the individualselat-paycalls (Workflow step 3).- Params are per-endpoint.
handledrives theuser/*reads,tweetIdthetweet/*reads,querythe search,woeidthe trends. On a full run, any param you omit uses its default, and that step still pays for the default target. - Tweet-id param names differ per endpoint (live API, not the OpenAPI):
tweetstakestweet_ids(snake_case, comma-separated batch);tweet/repliesandtweet/retweeterstaketweetId(camelCase). The OpenAPI'stweet_idfor the latter two 400s ("tweetId is required") — the manifest usestweetId. woeidis a Yahoo Where-On-Earth ID, not a country code (1= worldwide).- Handles have no leading
@. Strip it before passinghandle(the API param isuserName; the manifest maps${handle}→userName=). tweetsbatches —tweet_idsis comma-separated (20,21,22). The manifest passes one id; hand-build the call for a batch.- Paginate via
cursor.last_tweets,mentions,followers, and the reply/retweeter reads return acursor; to fetch the next page, issue a hand-builtselat-pay GET …&cursor=<token>— each page is another ~$0.001.cursoris not a manifest param. Full per-param schema (pinned fromcatalog.selat.ai/twitter/openapi.json) is inreferences/endpoints.md. - All steps need the SELAT Router.
catalog.selat.aisettles x402 via Circle Gateway through the SELAT Router, soSELAT_ROUTER_URLmust be reachable. - Read-only + public-only. No posting/engagement; protected accounts error.
Validation
--chain basein the probe commands below is only the flagselat-payrequires today — a probe reads a free, chain-independent quote and never settles. A real paid run resolves the settlement chain from your funded Circle Gateway balance, not the manifest.
selat skill validate ./skills/twitter-research→ passes.selat skill verify ./skills/twitter-research --live-probe→ all 9 steps reachable and ≤maxAmount(writes the verify receipt). Adding--payruns all 9 as a settled smoke test (~$0.009).npm run validate→ 0 errors (whole-repo +index.jsonconsistency).
Free single-step probe (what verify runs per step — no wallet, no spend):
selat-pay GET "https://catalog.selat.ai/twitter/user/info?userName=openai" \
--chain base --probe-only --live-probe
selat-pay GET "https://catalog.selat.ai/twitter/tweet/advanced_search?query=AI%20agents" \
--chain base --probe-only --live-probe
# success prints: detected: x402=yes … mode=routed-x402, then price=$0.001000References
manifest.json— the machine-readable payment recipe this skill runs.references/endpoints.md— the 9 endpoints, params, rails, and live prices. Read it before building an individualselat-paycall.references/agent-skill-authoring-sop.md— authoring standard.- selat-pay — https://github.com/SELAT-AI/selat-pay
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

