Awesome-openclaw-skills x-api
Post to X (Twitter) using the official API with OAuth 1.0a. Use when you need to tweet, post updates, or publish content. Bypasses rate limits and bot detection that affect cookie-based approaches like bird CLI.
install
source · Clone the upstream repo
git clone https://github.com/sundial-org/awesome-openclaw-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/x-api" ~/.claude/skills/sundial-org-awesome-openclaw-skills-x-api && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/x-api" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-x-api && rm -rf "$T"
manifest:
skills/x-api/SKILL.mdsource content
x-api 🐦
Post to X using the official API (OAuth 1.0a).
When to Use
- Posting tweets (cookie-based
gets blocked by bot detection)bird tweet - Official API access is needed for reliability
For reading (timeline, search, mentions), use
bird CLI instead — it's free and works well for reads.
Setup
1. Get API Credentials
- Go to https://developer.x.com/en/portal/dashboard
- Create a Project and App
- Set App permissions to Read and Write
- Get your keys from "Keys and tokens" tab:
- API Key (Consumer Key)
- API Key Secret (Consumer Secret)
- Access Token
- Access Token Secret
2. Configure Credentials
Option A: Environment variables
export X_API_KEY="your-api-key" export X_API_SECRET="your-api-secret" export X_ACCESS_TOKEN="your-access-token" export X_ACCESS_SECRET="your-access-token-secret"
Option B: Config file at
~/.clawdbot/secrets/x-api.json
{ "consumerKey": "your-api-key", "consumerSecret": "your-api-secret", "accessToken": "your-access-token", "accessTokenSecret": "your-access-token-secret" }
3. Install Dependency
npm install -g twitter-api-v2
Post a Tweet
x-post "Your tweet text here"
Or with full path:
node /path/to/skills/x-api/scripts/x-post.mjs "Your tweet text here"
Supports multi-line tweets:
x-post "Line one Line two Line three"
Returns the tweet URL on success.
Limits
- Free tier: 1,500 posts/month (requires credits in X Developer Portal)
- Basic tier ($100/mo): Higher limits
Reading (use bird)
For reading, searching, and monitoring — use the
bird CLI:
bird home # Timeline bird mentions # Mentions bird search "query" # Search bird user-tweets @handle # User's posts bird read <tweet-url> # Single tweet
Troubleshooting
402 Credits Depleted: Add credits in X Developer Portal → Dashboard
401 Unauthorized: Regenerate Access Token (ensure Read+Write permissions are set first)
No credentials found: Set env vars or create config file (see Setup above)