twitter-automation
Build and run Twitter/X automations end-to-end — the user describes what they want in plain English and this skill designs it, prices it, and wires it up from…
Run an unattended X/Twitter presence — watch topics and mentions in real time, draft posts and replies in the user's own voice, publish original posts on a schedule, and hold replies for a one-tap approval. Trigger whenever the user wants to automate their X/Twitter account,
$ npx -y skills add lnvestor/twitr-skills --skill x-presence --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/x-presenceContext preview
The summary Claude sees to decide when to auto-load this skill.
Run an unattended X/Twitter presence — watch topics and mentions in real time, draft posts and replies in the user's own voice, publish original posts on a schedule, and hold replies for a one-tap approval. Trigger whenever the user wants to automate their X/Twitter account,
name: x-presence description: Run an unattended X/Twitter presence — watch topics and mentions in real time, draft posts and replies in the user's own voice, publish original posts on a schedule, and hold replies for a one-tap approval. Trigger whenever the user wants to automate their X/Twitter account, grow an audience on X, schedule or draft tweets, set up an X routine or cron job, get alerted about topics or mentions on X, or run an X agent in the background — including casual phrasings like "post for me on X" or "keep an eye on Twitter for me". Works in Claude Code routines, Hermes cron, and OpenClaw cron. Paid per call in USDC via twitr.sh through an x402 wallet — no API key, no signup. Do NOT trigger for reading a single tweet or profile (use x-twitter-data), for bulk dataset exports (use x-twitter-research), or for non-X platforms. license: MIT compatibility: Requires network access and an x402/MPP payment client (AgentCash MCP recommended). Needs a connected X account for publishing. Scheduling is optional and runs on the user's own account or machine. metadata: author: twitr.sh version: "1.0"
| Task | Approach | |---|---| | **First-time setup** | Follow **Setup** below in order. Do not skip the profile step — every draft depends on it. | | **Run one cycle now** | Jump to **The cycle**. Safe to run any time; it is idempotent. | | **Schedule it** | See `references/scheduling.md` — verified commands for Claude routines, Hermes, OpenClaw. | | **Approve queued replies** | Read `.twitr/pending.md`, confirm with the user, then post per **step 5**. | | **Change voice or topics** | Edit `.twitr/profile.json`; nothing else needs touching. |
> Every call is paid per request from the user's wallet. **State the cost before any batch, > and confirm before anything over $1.** Reads are free; a reply is $0.036.
These are prohibited by X's automation rules, so the tools are simply absent from the loop — not merely discouraged. If the user asks for them, explain why rather than complying:
aggressive, or indiscriminate", and applications that claim to get users more followers are prohibited outright. The 400/day figure is a technical cap, not permission.
This isn't only compliance. In X's published ranking weights, follows aren't scored at all and a like scores 0.5, while a single report scores −369.0. The banned tactics cost reach. See `references/ranking-signals.md`.
Run these once, in order. Report the cost of step 4 before running it.
**1. Payment.** Confirm the user has an x402 wallet available — AgentCash MCP is easiest, and in Claude routines its traffic is proxied so no domain allowlisting is needed. If absent, stop and tell them to connect one; nothing here works without it.
**2. Voice profile.** Interview the user, then write `.twitr/profile.json`. Ask about tone, an account whose style they like, and what they never want to say. Keep it local — never send this file anywhere.
{
"handle": "myhandle",
"topics": ["x402", "agent payments"],
"voice": {
"tone": "direct, dry, technical — no hype, no emoji",
"styleUsername": "account_whose_voice_they_like",
"doNotSay": ["game-changer", "🚀"]
},
"goal": "be known for practical agent-payment writing",
"caps": { "repliesPerDay": 10, "postsPerDay": 2 },
"monitors": {}
}**3. Connect the X account** — free, wallet-signed, and **you never handle the password**. Mint a link, give it to the user, wait.
POST https://twitr.sh/api/x-accounts/start {"username"} → {connect_url, expires_in}
GET https://twitr.sh/api/x-accounts → poll until "linked"Show the user `connect_url` and say: *open this in your browser and sign in to X there.* They enter their password on twitr.sh, in their own browser; it never passes through you. The link is single-use and expires in 15 minutes — mint a fresh one if it lapses.
> **Never ask the user for their X password, email, or 2FA secret — and never accept one if > they offer it.** If a user pastes a credential into the chat, tell them not to, and send them > the link instead. There is no endpoint on this skill that takes a password.
**4. Create the listeners** — one per topic plus one for mentions. ~$4.20 per monitor per week. **Tell the user the total first.**
POST https://twitr.sh/api/tools/x_monitor
Idempotency-Key: <uuid>
{ "action": "create", "query": "x402", "hours": 168 }
{ "action": "create", "query": "@myhandle", "hours": 168 }Save each returned `monitor_id` into `profile.json` → `monitors`. Monitors need a recoverable owner wallet, so pay on **Base or Tempo, not Solana**.
One pass, then stop. Scheduling is what repeats it — never loop in-session.
**1. Read new events** (free)
GET https://twitr.sh/api/monitors/{id}/events?after={last_event_id}`after` comes from `.twitr/state.json`. Events are returned oldest-first; the last id you process becomes the new cursor. A `monitor.expired` event means the monitor ended — tell the user it needs extending and stop.
**2. Shortlist** — at most `caps.repliesPerDay`. Priority: direct mentions, then genuine questions in-topic where the user actually knows the answer. Skip anything on `doNotSay` territory, anything political, anything already in `state.json.replied`, and anything older than ~12 hours (late replies read as automated).
**3. Draft** (~$0.001 each — draft freely, keep the best)
POST https://twitr.sh/api/tools/compose
{ "step": "generate", "topic": "<what you're answering + your angle>",
"goal": "<profile.goal>"**Six installable X/Twitter skills for Claude Code, Cursor, OpenClaw and Hermes — paid per call in USDC. No X developer account, no API keys, no OAuth, no signup, no subscription.**
Build and run Twitter/X automations end-to-end — the user describes what they want in plain English and this skill designs it, prices it, and wires it up from…
Read live X/Twitter data — a single tweet or profile, tweet and user search with the full operator set, user timelines, replies, quotes, followers and…
Watch an X/Twitter account or keyword in real time and receive events the moment they happen — new posts, replies, reposts, quotes, mentions, and profile…
Publish to X/Twitter through an account the user connects once — draft and score post text with AI, then post, reply, quote, delete, upload media, or edit the…
Export bulk X/Twitter datasets as downloadable files — follower and following lists, everyone who replied to or reposted or quoted a post, full threads,…