Twitter Thread Scheduler
/install twitter-thread-scheduler
Twitter Thread Scheduler
Why This Exists
Buffer's GraphQL API has no thread field — it only supports single posts. To post a proper X thread (tweet 1 → reply → reply → ...), you need direct Twitter API v2 access.
This script uses the redditech OAuth2 credentials from ~/.xurl to:
- Post tweet [1/N] — get back the tweet ID
- Post tweet [2/N] as
reply: { in_reply_to_tweet_id: \x3Cid> }— get tweet 2's ID - Continue through the queue until all N tweets are posted
- Log all tweet IDs + URLs to
memory/thread-log.jsonl
This is the ONLY way to schedule real X threads. Always use this script over Buffer for multi-tweet content.
Script
scripts/tweet_thread_scheduler.py
Auth: ~/.xurl → apps.redditech.users.redditech.access_token (auto-refreshes on 401)
Commands
Preview (parse + char check, no posting)
python3 scripts/tweet_thread_scheduler.py preview \
--file projects/social-growth/thread-\x3Cslug>.md
Run this first. Confirms tweet count and flags any over 280 chars.
Post immediately
python3 scripts/tweet_thread_scheduler.py post \
--file projects/social-growth/thread-\x3Cslug>.md \
--slug \x3Cslug>
# Prompts for confirmation before posting
Dry run
python3 scripts/tweet_thread_scheduler.py post \
--file projects/social-growth/thread-\x3Cslug>.md \
--slug \x3Cslug> \
--dry-run
Schedule for later (ISO8601 datetime)
python3 scripts/tweet_thread_scheduler.py schedule \
--file projects/social-growth/thread-\x3Cslug>.md \
--slug \x3Cslug> \
--at "2026-04-05T08:00:00+11:00"
# Writes queue file + creates `at` job
Fire a queued thread (called automatically by at)
python3 scripts/tweet_thread_scheduler.py fire \
--queue memory/thread-queue/\x3Cslug>.json
Thread File Format
The script parses the blog-to-social output format automatically:
## Thread (9 tweets)
[1/9] First tweet text here.
[2/9] Second tweet text here.
...
[9/9] Final tweet with blog URL. #Hashtag1 #Hashtag2
Also supports ## Tweet N headers and --- dividers.
Always run preview before scheduling to confirm parsing is correct.
Rate Limits
- 3 second delay between tweets in a thread
- Auto-retry with exponential backoff on HTTP 429
- Twitter free tier: 300 write operations per 15 minutes
- A 9-tweet thread uses 9 write ops — well within limits
Queue & Logs
| Path | Purpose |
|---|---|
memory/thread-queue/\x3Cslug>.json |
Queued thread data (tweets + schedule time) |
memory/thread-log.jsonl |
Posted threads — all tweet IDs + URLs |
Integration with Content Pipeline
In the blog-to-social and blog-publish playbooks:
- Sara produces
projects/social-growth/thread-\x3Cslug>.md - Run
previewto verify parsing - Replace
[BLOG_URL]placeholder before scheduling - Use
schedule --at \x3CpublishAt + 15min>to align with blog embargo timing - LinkedIn single posts → still use
scripts/buffer-post.mjs
Rule: Buffer for LinkedIn. This script for X threads.
Lessons Learned
2026-04-03 — First use (portkey-patterns + ollama-embeddings):
- Buffer
createPostwiththreadfield returnsGRAPHQL_VALIDATION_FAILED— field doesn't exist - Workaround: built this script using Twitter API v2
replyfield atscheduling works cleanly — jobs survive across sessions- 3s inter-tweet delay is sufficient for free tier rate limits
- Both threads (9 tweets + 8 tweets) parse cleanly from
[1/N]format
Buffer delete API (corrected 2026-04-03):
- Input field:
id(NOTpostId) - Response union:
DeletePostSuccess { id }|VoidMutationError { message }(NOTPostActionSuccess) - This is different from
createPostwhich usesPostActionSuccess
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install twitter-thread-scheduler - After installation, invoke the skill by name or use
/twitter-thread-scheduler - Provide required inputs per the skill's parameter spec and get structured output
What is Twitter Thread Scheduler?
Post native X/Twitter threads by chaining reply-to calls via Twitter API v2. Buffer cannot post threads — use this for any multi-tweet X content from the con... It is an AI Agent Skill for Claude Code / OpenClaw, with 23 downloads so far.
How do I install Twitter Thread Scheduler?
Run "/install twitter-thread-scheduler" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Twitter Thread Scheduler free?
Yes, Twitter Thread Scheduler is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Twitter Thread Scheduler support?
Twitter Thread Scheduler is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Twitter Thread Scheduler?
It is built and maintained by Nissan Dookeran (@nissan); the current version is v1.0.0.