Auto Tweet Publish
/install auto-tweet
Auto-Tweet Agent — OpenClaw Skill
Safe, open-source Twitter/X automation via twikit. Replaces openclaw-x with fully auditable Python code.
Overview
This skill lets you control a Twitter/X account through natural language.
The local API runs on http://localhost:19816 and wraps the open-source
twikit library (4.1K+ ⭐, MIT license).
No closed-source binaries. No cookie theft risk. Fully transparent.
Prerequisites
The Auto-Tweet server must be running:
cd ~/.openclaw/skills/auto-tweet
python main.py
Available Actions
Post a tweet
curl -X POST http://localhost:19816/tweet \
-H "Content-Type: application/json" \
-d '{"text": "Hello from OpenClaw!"}'
Post a tweet with media
curl -X POST http://localhost:19816/tweet \
-H "Content-Type: application/json" \
-d '{"text": "Check this out!", "media_paths": ["/path/to/image.jpg"]}'
Reply to a tweet
curl -X POST http://localhost:19816/tweet \
-H "Content-Type: application/json" \
-d '{"text": "Great point!", "reply_to": "TWEET_ID"}'
Quote tweet
curl -X POST http://localhost:19816/tweet \
-H "Content-Type: application/json" \
-d '{"text": "This is amazing!", "quote_url": "https://x.com/user/status/TWEET_ID"}'
Search tweets
curl "http://localhost:19816/search?q=AI+Agent&type=Latest&count=10"
Search users
curl "http://localhost:19816/search/users?q=openai&count=5"
Get timeline (For You)
curl "http://localhost:19816/timeline?count=20"
Get timeline (Following)
curl "http://localhost:19816/timeline/following?count=20"
Like a tweet
curl -X POST http://localhost:19816/like \
-H "Content-Type: application/json" \
-d '{"tweet_id": "TWEET_ID"}'
Unlike a tweet
curl -X POST http://localhost:19816/unlike \
-H "Content-Type: application/json" \
-d '{"tweet_id": "TWEET_ID"}'
Retweet
curl -X POST http://localhost:19816/retweet \
-H "Content-Type: application/json" \
-d '{"tweet_id": "TWEET_ID"}'
Undo retweet
curl -X POST http://localhost:19816/unretweet \
-H "Content-Type: application/json" \
-d '{"tweet_id": "TWEET_ID"}'
Bookmark a tweet
curl -X POST http://localhost:19816/bookmark \
-H "Content-Type: application/json" \
-d '{"tweet_id": "TWEET_ID"}'
Get bookmarks
curl "http://localhost:19816/bookmarks?count=20"
Get user profile
curl "http://localhost:19816/user/elonmusk"
Get user tweets
curl "http://localhost:19816/user/elonmusk/tweets?type=Tweets&count=10"
Get a specific tweet
curl "http://localhost:19816/tweet/TWEET_ID"
Delete a tweet
curl -X DELETE "http://localhost:19816/tweet/TWEET_ID"
Get trending topics
curl "http://localhost:19816/trends?category=trending"
Send a DM
curl -X POST http://localhost:19816/dm \
-H "Content-Type: application/json" \
-d '{"user_id": "USER_ID", "text": "Hello!"}'
Follow / Unfollow
curl -X POST "http://localhost:19816/follow/USER_ID"
curl -X POST "http://localhost:19816/unfollow/USER_ID"
Get notifications
curl "http://localhost:19816/notifications?type=Mentions&count=20"
Schedule a tweet
curl -X POST http://localhost:19816/schedule \
-H "Content-Type: application/json" \
-d '{"text": "Scheduled tweet!", "scheduled_at": 1735689600}'
Check rate limits
curl "http://localhost:19816/rate_limits"
Health check
curl "http://localhost:19816/"
Rate Limits (Built-in Safety)
| Limit | Default | Purpose |
|---|---|---|
| API calls/hour | 30 | Prevent hourly burst |
| API calls/day | 200 | Match normal usage |
| Tweets/day | 20 | Conservative posting |
All limits are configurable in config.json.
Error Handling
All endpoints return standard HTTP status codes:
200— Success400— Bad request (invalid parameters)401— Session expired (restart server)403— Account issue (suspended/locked)409— Duplicate tweet429— Rate limit exceeded500— Twitter API error
Security Notes
- Server binds to
127.0.0.1only (localhost) — no external access - Credentials stay in local
config.json - Cookies saved locally in
cookies.json - All code is open-source Python — fully auditable
- No telemetry, no external callbacks
- Rate limiter protects against accidental overuse
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install auto-tweet - After installation, invoke the skill by name or use
/auto-tweet - Provide required inputs per the skill's parameter spec and get structured output
What is Auto Tweet Publish?
Post, search, like, retweet, bookmark, and manage a Twitter/X account via a local twikit-based API server on port 19816. Use when the user asks to tweet, sea... It is an AI Agent Skill for Claude Code / OpenClaw, with 105 downloads so far.
How do I install Auto Tweet Publish?
Run "/install auto-tweet" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Auto Tweet Publish free?
Yes, Auto Tweet Publish is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Auto Tweet Publish support?
Auto Tweet Publish is cross-platform and runs anywhere OpenClaw / Claude Code is available (darwin, linux).
Who created Auto Tweet Publish?
It is built and maintained by chatgptnexus (@chatgptnexus); the current version is v1.0.0.