Schedule X from ThinkRail then you approve

Message ThinkRail from Telegram, WhatsApp, or Slack. Add the openquok-core skill so it schedules X posts while you review on the calendar or kanban.

Install our core skill:

Your worktree IDE

Chat with pi in ThinkRail,keep main clean

Open a repo. Cut a workspace worktree. Ask the agent to draft and schedule like any other task. The openquok-core skill runs in that worktree’s shell. It finds connected channels, attaches media, and queues drafts. You approve on the calendar before anything publishes.

Built for X with ThinkRail

Who schedules X with ThinkRail?

Creators & founders

Stay visible on X without living in the app. Ask your agent to schedule tweets and threads while you ship product. Message ThinkRail to draft X posts from chat — you approve before publish.

Social managers

Batch a week of X posts. Control reply settings per tweet. Track engagement with your other channels. ThinkRail queues X drafts at volume — your team approves before publish.

Developers & agents

Pipe X drafts from your backend via the public API, CLI, or MCP. Configure thread replies and reply settings per post. Run ThinkRail per client workspace so X drafts stay isolated.

How it works

Five steps,to ThinkRail + OpenQuok

New to OpenQuok? Read the agent setup guide

Connect once

authenticate in the worktreepick your workspacechat from the IDE securely

Choose an OpenQuok workspace, connect with OAuth2 — approve in your browser, and credentials stay on the machine that runs ThinkRail. Ask the agent in chat to draft and schedule without opening another app.

CLI authentication options

Create Post

Sample channels

These chips set format and character limits. They are not your accounts.

Editing a Specific Network

Workspace tools. Sign in or sign up to use your library, Photo Editor, and signatures.

75 / 280

Follow-up comments
Reply
Drag and drop images or videos here, or use the icons on the editor.
46/280
Delay
09:00 + 300s ≈ 09:05:00
Post Preview
OpenQuok Brand @OpenQuok Brand
Jun 12, 9:00 AM

Ship the company launch post — a personal profile can repost after publish.

Scheduled thread replies
  • OpenQuok Brand
    After 5 min

    Thread reply publishes after your chosen delay

Post editor

Schedule thread replies on Xkeep the conversationon schedule

A strong tweet deserves a conversation. You do not need another tab open on X. Add follow-up replies in the composer with delays. Preview text and media before you schedule. Chain the full thread from one draft.

CLI command options

Targeted channels

Overview

Impressions
10.4%
9,432
Likes
8.6%
681
Replies
5.8%
218
Reposts
4.2%
153
Quotes
3.0%
75

Insights

See what resonates on X track impressions and engagementand iterate

Track likes, replies, reposts, quotes, and impressions from connected X profiles inside OpenQuok analytics. Then schedule more of what already works.

CLI analytics options

Scale what works

when a format hits, scale by adding worktrees and parallel chats

Spot a winner in analytics, then cut another worktree for the next client or brand while a second pi session queues the next wave — credentials, channels, and agent context stay isolated as you scale.

Parallel CLI sessions

Playbooks & Building Blocks Directories

X viral formats

Mix X-focused skills, and MCP servers — then tailor them to your ThinkRail workflow.

Building Blocks

OpenQuok Core

Schedule and manage social posts with the openquok CLI — authenticate, upload media, create drafts and scheduled post…

See All

Browse every X building block.

comparisons

agent-native scheduling, not another dashboard

Most social scheduler SaaS keeps you in a browser tab. OpenQuok is built for X from ThinkRail

Typical social scheduler SaaS

  • Copy posts between your AI chat and a separate scheduling tool
  • Siloed API keys and workflows that do not compose with your agent stack
  • Always-on integrations that bloat agent context
  • Locked to one vendor's models or automation layer
  • One working tree mixing every experiment as you add channels and parallel sessions
  • Autopilot publishing with no human checkpoint

OpenQuok + ThinkRail

  • > Ask the agent in ThinkRail to draft and schedule from the worktree
  • > Credentials stay on the machine that runs ThinkRail — workspace isolated
  • > Skills load on demand from ~/.pi or the worktree .pi/skills folder
  • > CLI-first openquok-core works beside any other pi skill or extension
  • > Git worktrees isolate each line of work — merge the good branch, delete the rest
  • > Every post lands as draft or scheduled — you approve before anything goes live

CLI

Command reference

X commands from the openquok-core skill — structured JSON on stdout, human-in-the-loop drafts, and workspace media uploads.

  • openquok integrations:list | jq -r '.[] | select(.identifier=="x") | .id'

    Discover your X integration UUID

  • openquok integrations:settings "$X_ID"

    Get X posting rules and character limits

  • openquok posts:create --json

    Schedule a text-only post on X

  • openquok posts:create --json

    Schedule a post and quote-less reply chain

  • openquok posts:create --json
    { "scheduledAt": "2026-01-01T12:00:00.000Z", "status": "scheduled", "body": "1/2 — setup", "integrationIds": ["<integration-id>"], "providerSettingsByIntegrationId": { "<integration-id>": { "x": { "replies": [ { "id": "reply-1", "message": "2/2 — payoff", "delaySeconds": 90, "media": [{ "id": "<reply-media-id>", "path": "https://cdn.example.com/payoff.jpg" }] } ] } } } }

    Schedule a follow-up reply with images on x.replies

  • openquok posts:create --json
    { "scheduledAt": "2026-01-01T12:00:00.000Z", "status": "scheduled", "body": "Main tweet from channel A", "integrationIds": ["<integration-id-1>"], "providerSettingsByIntegrationId": { "<integration-id-1>": { "x": { "crossAccountPlugs": [ { "plugName": "x-repost-post-users", "enabled": true, "delayMs": 0, "integrationIds": ["<integration-id-2>"], "fields": {} } ] } } } }

    Repost from another X channel after publish (crossAccountPlugs)

  • openquok plugs:catalog | jq '.plugs[] | select(.identifier=="x")'

    List global plug types and field names for this provider

  • openquok plugs:list "$ID"

    List saved global plug rules on this channel

  • openquok plugs:upsert "$ID" --func autoRepostPost --fields '[{"name":"likesAmount","value":"100"}]'

    Auto-repost when a post reaches a likes threshold (global plug)

  • openquok plugs:upsert "$ID" --func autoPlugPost --fields '[{"name":"likesAmount","value":"100"},{"name":"post","value":"Thanks for the support!"}]'

    Auto-reply when a post reaches a likes threshold (global plug)

  • openquok analytics:platform "$X_ID" -d 30

    Pull 30-day X analytics

Where you work

Worktrees, editor, and terminals

ThinkRail scopes files, diffs, terminals, and pi chats to the active git worktree — then invoke openquok-core like any other skill:

macOS

CLI or desktop build on Apple Silicon

Linux

CLI or desktop on arm64 and x64

Windows

CLI or desktop build for Windows x64

Git worktrees

Each workspace is its own branch and cwd

Monaco editor

Tabs, files tree, and live diffs per worktree

Worktree terminals

PTYs scoped to the active workspace cwd

Optional MCP extensions

Pi MCP extensions

Optional MCP tools beside skills — OpenQuok stays CLI-first

Frequently asked questions

ThinkRail + X,answered

What ThinkRail is, how to install openquok-core, scheduling X posts, human approval, and how agents draft from chat.

Read the ThinkRail setup guide

Step-by-step self-host setup for connecting OpenQuok to ThinkRail — install commands, auth patterns, and configuration snippets.

View setup guide

Start free. Publish with confidence.

Connect your agent, review every draft, and schedule posts across channels before anything goes live.

Discord Support