Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
X/Twitter messaging management via API. Read tweets, post tweets, reply, send DMs, search, and view analytics. Use when the user wants to interact with X/Twi...
X/Twitter messaging management via API. Read tweets, post tweets, reply, send DMs, search, and view analytics. Use when the user wants to interact with X/Twi...
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.
Interact with X (Twitter) via API v2 for reading, posting, replying, DMs, search, and analytics.
Store credentials in environment variables or ~/.config/twitter/credentials.json: export TWITTER_API_KEY="your-api-key" export TWITTER_API_SECRET="your-api-secret" export TWITTER_ACCESS_TOKEN="your-access-token" export TWITTER_ACCESS_SECRET="your-access-secret" export TWITTER_BEARER_TOKEN="your-bearer-token" # For read-only operations Or create credentials file: mkdir -p ~/.config/twitter cat > ~/.config/twitter/credentials.json << 'EOF' { "api_key": "your-api-key", "api_secret": "your-api-secret", "access_token": "your-access-token", "access_secret": "your-access-secret", "bearer_token": "your-bearer-token" } EOF chmod 600 ~/.config/twitter/credentials.json
pip install tweepy
TaskCommandPost tweet{baseDir}/scripts/tweet.py post "text"Post with image{baseDir}/scripts/tweet.py post "text" --media image.pngReply{baseDir}/scripts/tweet.py reply TWEET_ID "text"Thread{baseDir}/scripts/tweet.py thread "tweet1" "tweet2" ...Get timeline{baseDir}/scripts/tweet.py timeline [--count 20]Get mentions{baseDir}/scripts/tweet.py mentions [--count 20]Get DMs{baseDir}/scripts/tweet.py dms [--count 20]Send DM{baseDir}/scripts/tweet.py dm USERNAME "message"Search{baseDir}/scripts/tweet.py search "query" [--count 20]User info{baseDir}/scripts/tweet.py user USERNAMETweet info{baseDir}/scripts/tweet.py show TWEET_IDAnalytics{baseDir}/scripts/tweet.py analytics TWEET_ID
Main script for all Twitter operations. Run with --help for details: {baseDir}/scripts/tweet.py --help {baseDir}/scripts/tweet.py post --help
Post a simple tweet: {baseDir}/scripts/tweet.py post "Hello, world!" Post with image: {baseDir}/scripts/tweet.py post "Check this out!" --media photo.png {baseDir}/scripts/tweet.py post "Multiple images" --media img1.png --media img2.png Reply to a tweet: {baseDir}/scripts/tweet.py reply 1234567890 "Great point!" Post a thread: {baseDir}/scripts/tweet.py thread \ "First tweet in thread" \ "Second tweet" \ "Third tweet" Read your mentions: {baseDir}/scripts/tweet.py mentions --count 50 Search for tweets: {baseDir}/scripts/tweet.py search "openclaw agent" --count 20 {baseDir}/scripts/tweet.py search "#AI lang:en" --count 20 Get user info: {baseDir}/scripts/tweet.py user elonmusk Send a DM: {baseDir}/scripts/tweet.py dm username "Hello from OpenClaw!" View tweet analytics: {baseDir}/scripts/tweet.py analytics 1234567890
TierCostReadWriteSearchFree$0Limited--Basic$100/mo10k/mo1.5k/mo50/moPro$5000/mo1M/mo300k/mo500/mo Free tier can only post tweets (no read access to timeline/mentions). Basic tier required for reading mentions, timeline, and search. Write-only operations work on free tier. See {baseDir}/references/api-limits.md for detailed rate limits.
Common errors: ErrorCauseSolution403 ForbiddenInsufficient tierUpgrade API tier or check endpoint access429 Too Many RequestsRate limit hitWait and retry; check rate limit headers401 UnauthorizedInvalid credentialsVerify API keys and tokens404 Not FoundTweet/user deletedHandle gracefully, inform user422 UnprocessableDuplicate tweetWait before posting same content
Rate limits: X API has strict rate limits. Scripts include retry logic. Media uploads: Images must be <5MB (PNG/JPG) or <15MB (GIF). Videos <512MB. Character limit: 280 characters per tweet. Threads for longer content. DMs: Require OAuth 1.0a user context (not Bearer token). Search operators: {baseDir}/references/search-operators.md for advanced queries.
{baseDir}/scripts/tweet.py - Main CLI for all operations {baseDir}/references/api-limits.md - Detailed rate limits by endpoint {baseDir}/references/search-operators.md - Twitter search syntax
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.