Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Post tweets to Twitter/X via the official API v2 (OAuth 1.0a). Use when the user asks to tweet, post to Twitter/X, send a thread, reply to a tweet, or quote...
Post tweets to Twitter/X via the official API v2 (OAuth 1.0a). Use when the user asks to tweet, post to Twitter/X, send a thread, reply to a tweet, or quote...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Post tweets via the official Twitter/X API v2 using OAuth 1.0a authentication.
Four environment variables must be set. Obtain them from developer.x.com: TWITTER_CONSUMER_KEY=<API Key> TWITTER_CONSUMER_SECRET=<API Key Secret> TWITTER_ACCESS_TOKEN=<Access Token> TWITTER_ACCESS_TOKEN_SECRET=<Access Token Secret> Optional: HTTPS_PROXY โ HTTP proxy URL (e.g. http://127.0.0.1:7897) for regions that need it TWITTER_DRY_RUN=1 โ validate and print without posting
Store credentials as env vars. Recommended: add to the OpenClaw instance config or export in shell profile. Never hardcode keys in SKILL.md or scripts. If the user hasn't set up OAuth yet, guide them: Go to developer.x.com โ Dashboard โ Create App Set App permissions to Read and Write Go to Keys and tokens tab Copy API Key, API Key Secret Generate Access Token and Access Token Secret (ensure Read+Write scope) If the portal only shows Read, use PIN-based OAuth flow: Call POST /oauth/request_token with oauth_callback=oob User opens https://api.twitter.com/oauth/authorize?oauth_token=<token> User provides the PIN code Call POST /oauth/access_token with the PIN as oauth_verifier
All commands via exec. Script path: scripts/tweet.js (relative to this skill directory).
node scripts/tweet.js "Your tweet content here"
node scripts/tweet.js --reply-to 1234567890 "Reply text"
node scripts/tweet.js --quote 1234567890 "Your commentary"
node scripts/tweet.js --thread "First tweet" "Second tweet" "Third tweet"
JSON to stdout: {"ok":true,"id":"123456789","url":"https://x.com/i/status/123456789","remaining":"99","limit":"100"} On error: {"ok":false,"error":"..."}
Max 280 weighted characters per tweet CJK characters (Chinese/Japanese/Korean) count as 2 each URLs count as 23 each regardless of length Script auto-validates before posting; rejects if over limit
100 tweets / 15 min per user (OAuth 1.0a) 3,000 tweets / month on Basic plan ($200/mo) Check remaining field in output to monitor quota
For content from Notion/database: fetch the text first, then pipe to tweet.js For cron-based auto-posting: use exec with env vars set, parse JSON output to confirm success Thread mode posts sequentially; each tweet auto-replies to the previous one Combine --thread with --reply-to to attach a thread under an existing tweet
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.