twitter-research
Skill2 starsChanged 4 months agoMITView on GitHub
Read-only Twitter/X research on SELAT — profiles, recent tweets, mentions, followers, tweet details/replies/retweeters, topic search, and trends. Use when asked \"who is @X on Twitter\", \"show me X's recent tweets\", \"who's mentioning X\", \"how did this tweet do / who replied / who retweeted\", \"search X for <topic>\", or \"is <topic> trending\". A curated menu of 9 SELAT-native reads — the agent runs only what the question needs. Pays per call in USDC from the user's own self-custody Circle Agent Wallet; no API keys, no signups. Dry-run first to see live prices.
- Installs packages
1 other project uses a version of this.
Adopted by
Most recently taken up by
- SELAT-AI/selat-skillstheir own version, first seen Oct 4, 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-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 repository4 other files it gives its agents.
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 40
Every read is a real paid API call in USDC from the user's own Circle Agent Wallet (MPC self-custody — SELAT never holds keys or funds).
- Distinctive: line 52
Never ask for, paste, or handle a private key.
- Very specific: line 57
If selat isn't on PATH yet, install it — one npm package, no signup:
- Distinctive: line 83
If they don't want to proceed, stop here — nothing has been spent or created.
≈ “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
Research Twitter/X, keylessly and pay-per-read. This skill is a curated menu of 9 read-only endpoints on SELAT's own first-party Twitter API — account reads (profile, recent tweets, mentions, followers), tweet reads (details, replies, retweeters), topic search, and trends. You (the agent) pick the reads a request actually needs, run them, and synthesize the answer in plain language.
It wraps a SELAT skill: a declarative, vetted recipe of paid API calls (no
API keys, no signups) settled in USDC as x402 via Circle Gateway. The selat
CLI resolves the vetted endpoints and prints a per-step receipt. Read-only —
it never posts, likes, or follows, and cannot see protected/private accounts.
Cost — read this first
- Every read is a real paid API call in USDC from the user's own Circle Agent Wallet (MPC self-custody — SELAT never holds keys or funds).
- Prices and spend limits live in the underlying SELAT skill, not here — the
live 402 quote from
selat skill verify/runis the price source of truth, so this wrapper doesn't restate dollar figures (they'd only drift). - It's a menu, not a pipeline. Map the request to the smallest set of
reads (a profile question is 1 read, "how did this tweet land" is 3), and pass
only the params those reads use.
selat skill runexecutes every step, so pass the relevant params and treat the unused reads' output as noise — or keep runs cheap by asking a focused question. - Always dry-run first (Step 1 — free, no wallet), show the user the real quoted prices, and get their OK before any wallet setup or paid run.
- Never ask for, paste, or handle a private key. Wallet auth is the CLI's Circle integration.
Step 0 — get the CLI (free, no account)
If selat isn't on PATH yet, install it — one npm package, no signup:
selat --version || npm install -g @selat-ai/selat-cliInstalling the CLI creates nothing money-related — no wallet, no account, no keys.
Step 1 — dry run first, before any wallet setup
Do this before creating a wallet or asking the user to fund anything. The
dry run probes every endpoint's live price and reachability for free — no
wallet, no funds, no account, no selat init:
selat skill install twitter-research
SELAT_ROUTER_URL=https://router.selat.ai \
selat skill verify ~/.config/selat/skills/twitter-research(verify takes the installed skill's directory — $XDG_CONFIG_HOME/selat/skills/<name>,
which defaults to the path above. The SELAT_ROUTER_URL prefix is only needed
before selat init has written config.)
This prints each of the 9 reads' real quoted price from the live 402 challenges. Show the user these prices and get their OK before wallet setup. If they don't want to proceed, stop here — nothing has been spent or created.
Step 2 — wallet setup (only after the user opts in)
selat init # creates the self-custody Circle Agent Wallet + config
selat fund # deposit USDC into Circle Gateway (user action)
selat doctor # verify wallet, router, and balance are readyselat init is safe to re-run — it detects an existing wallet and asks before
changing anything.
Step 3 — run
Pass the params for the reads the question needs; unused params take safe defaults.
selat skill run twitter-research \
--handle openai \
--query "AI agents" \
--tweetId 1234567890123456789 \
--woeid 1| Param | Steers | Feeds these reads |
handle | The account to profile (no leading @). | profile, recent tweets, mentions, followers |
query | A topic/keyword search (supports X operators: from:, $TICKER, #tag, min_faves:, since:, lang:). | topic search |
tweetId | A numeric tweet ID. | tweet details, replies, retweeters |
woeid | Yahoo WOEID for trends (1 = worldwide, 23424977 = US). | trends |
Route the request: who-is-@X → handle; topic chatter / "is it trending" →
query (+ woeid); "how did this tweet do" → tweetId. Each read returns raw
JSON — your job is to distill it into a short answer (profile summary, tweet
list with engagement, mention/follower read, tweet-reception breakdown, topic
chatter, or trend list), in plain language, with the dollar cost the CLI
reported. Keep endpoint URLs and raw JSON out of what you relay.
Why this is safe to install
- The skill is a declarative JSON manifest — no executable code. Installing this wrapper only ever writes text.
- Endpoints are https-only, first-party (SELAT's own Twitter API), and pre-vetted; each publish is gated on a machine-checked live verification receipt.
- Spend limits are defined by the underlying SELAT skill and enforced by the runner, which surfaces the wallet's spending policy at every money moment.
- Funds stay in the user's own wallet. No API keys, no platform balance, no custodian.
Beyond this skill
SELAT is a general capability layer for paid agent actions. If the user's ask doesn't fit this skill:
selat search "<intent>" # FREE federated discovery + ranking
selat skill list --available # other vetted multi-step skillsDoes 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.

