Skills x-api
Post tweets, threads, replies, and quote-tweets to X (Twitter) via API v2 with OAuth 1.0a.
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/3rdbrain/x-leads-api" ~/.claude/skills/clawdbot-skills-x-api && rm -rf "$T"
manifest:
skills/3rdbrain/x-leads-api/SKILL.mdsource content
X (Twitter) API Skill
CRITICAL: Read This First
You control the X (Twitter) account using the script at
./root/.openclaw/skills/x-api/x-api.js
There is NO
twitter command, NO Python, NO pip in this container. Do NOT search for other tools. Do NOT try to use curl with OAuth headers. Do NOT try to install anything.
The ONLY way to post tweets is:
node /root/.openclaw/skills/x-api/x-api.js post "Your tweet text here"
This script handles ALL OAuth 1.0a signing automatically using your configured API keys. Just run it.
Commands
Post a tweet:
node /root/.openclaw/skills/x-api/x-api.js post "Hello world! This is my first tweet."
Post a thread (multiple connected tweets):
node /root/.openclaw/skills/x-api/x-api.js thread "First tweet of thread" "Second tweet continues..." "Third tweet wraps up"
Reply to a tweet:
node /root/.openclaw/skills/x-api/x-api.js reply 1234567890 "This is my reply"
Quote-tweet:
node /root/.openclaw/skills/x-api/x-api.js quote 1234567890 "Interesting take!"
Like a tweet:
node /root/.openclaw/skills/x-api/x-api.js like 1234567890
Delete a tweet:
node /root/.openclaw/skills/x-api/x-api.js delete 1234567890
Check your recent tweets:
node /root/.openclaw/skills/x-api/x-api.js timeline 10
Schedule a tweet for later (saved to queue, posted by cron):
node /root/.openclaw/skills/x-api/x-api.js schedule "Good morning!" "2026-02-22T09:00:00Z"
Schedule a thread for later:
node /root/.openclaw/skills/x-api/x-api.js schedule-thread "Tweet 1" "Tweet 2" "2026-02-22T09:00:00Z"
How It Works
- The script uses Node.js built-in
module — zero dependenciescrypto - OAuth 1.0a HMAC-SHA1 signing is done automatically
- API credentials are read from environment variables
- Output is JSON with
{ success: true/false, data: {...}, summary: "..." }
Important Rules
- Always use
— this is your Twitter toolnode /root/.openclaw/skills/x-api/x-api.js - Never try
,pip install
,python
with OAuth, or any other methodcurl - Tweet text max 280 characters
- Thread max 25 tweets
- The script returns JSON — check the
field to confirm it workedsuccess
Environment Variables
— X API key (OAuth 1.0a consumer key)X_API_KEY
— X API secretX_API_SECRET
— Access tokenX_ACCESS_TOKEN
— Access token secretX_ACCESS_SECRET