macOS
CLI or desktop build on Apple Silicon
Use ThinkRail with openquok-core to draft and schedule Bluesky posts. You review and approve on the calendar or kanban.
mkdir -p ~/.pi/agent/skills/openquok-core
curl -fsSL "https://raw.githubusercontent.com/Ratimon/openquok-monorepo/main/agent/skills/openquok-core/SKILL.md" \
-o ~/.pi/agent/skills/openquok-core/SKILL.mdOn it — openquok-core
Created drafts with cover image attached.
✓ Queued for Tue 9:00 AM · ref oq-7f3a
Your worktree IDE
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 posts. You can publish now, schedule for later, or save drafts and approve on OpenQuok when you are ready.
Built for the open social web with ThinkRail
Stay visible on Bluesky without living in the app. Batch posts and reply chains from the calendar. Message ThinkRail to draft Bluesky posts from chat — publish now, schedule, or approve on OpenQuok.
Review drafts on kanban as a team. Schedule link posts, images, video, and threaded follow-ups in one workflow. ThinkRail queues Bluesky drafts at volume — your team can publish now or approve first.
Pipe Bluesky drafts from your backend via the public API or CLI. Mention people with @handle autocomplete. Run ThinkRail per client workspace so Bluesky drafts stay isolated.
Schedule Bluesky posts and reply chains from your agent through MCP. Review drafts on kanban before publish. Run ThinkRail per client workspace so Bluesky drafts stay isolated.
Connect once
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
# OAuth2 device flow (interactive — opens browser)
openquok auth:login
openquok auth:statusbot
Sample channels
These chips set format and character limits. They are not your accounts.
Workspace tools. Sign in or sign up to use your library, Photo Editor, and signatures.
Image attached · 84 / 300
Ship the weekly product update — up to four images or one video, 300 characters max.
Compose & links
Stay inside the 300-grapheme limit. URLs in the caption become clickable facets; add an optional link-card embed in Settings when the post has no media. Use @handle autocomplete. Attach up to four images or one MP4 — never mixed. Preview letterboxed media before you queue the slot.
CLI command options
# Draft + human checklist (Bluesky)
openquok posts:create --json ./examples/bluesky-text-only.json
openquok posts:review-todo <post-id> --note "…"
openquok posts:status <post-id> --status draft
openquok posts:status <post-id> -s scheduleCompare channels using each network's closest matching metric. Totals add primary series per channel — not a single blended platform metric.
Views
—
Engagement
1,082
1 channel
Followers
—
No daily series match this metric family for the selected channels.
Insights
Bluesky analytics — Trends summary totals and per-post likes, replies, reposts, and quotes from the public App View feed (7, 30, or 90 days). Then schedule more of what already works.
CLI analytics options
# Bluesky platform metrics
INTEGRATION_ID=$(openquok integrations:list | jq -r '.[] | select(.identifier=="bluesky") | .id')
openquok analytics:platform "$INTEGRATION_ID" -d 30
# Per-post insights
openquok analytics:post <post-id> -d 7On it — openquok-core
Created drafts with cover image attached.
✓ Queued for Tue 9:00 AM · ref oq-7f3a
Pulled platform analytics (7d)
Top post: 12.4k impressions, 842 reactions — carousel on product tips.
Facebook Page leads with +24% impressions vs last week.
On it — openquok-core
Created drafts with cover image attached.
✓ Queued for Tue 9:00 AM · ref oq-7f3a
Scale what works
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
# Workspace A — launch (client brand)
openquok posts:create -c "…" -s "…" -t draft -i "<uuid>"
openquok posts:status <post-id> -s schedule
# Workspace B — another client (isolated credentials)
openquok posts:list --status draft
# Same workspace — metrics in parallel
openquok analytics:platform <integration-uuid> -d 7
openquok analytics:post <post-id> -d 30Backlinks, Playbooks & Building Blocks
Mix Bluesky-focused backlink guides, playbooks, skills, and MCP servers — then tailor them to your ThinkRail workflow.
comparisons
Most social scheduler SaaS keeps you in a browser tab. OpenQuok is built for Bluesky from ThinkRail
CLI
Bluesky 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=="bluesky") | .id'Discover your Bluesky integration UUID
openquok integrations:settings "$BLUESKY_ID"Get Bluesky posting rules and character limits
openquok posts:create --jsonSchedule a text-only Bluesky post
openquok posts:create --jsonSchedule up to four images on one Bluesky post
openquok posts:create --jsonSchedule a post and follow-up replies on bluesky.replies
Where you work
ThinkRail scopes files, diffs, terminals, and pi chats to the active git worktree — then invoke openquok-core like any other skill:
CLI or desktop build on Apple Silicon
CLI or desktop on arm64 and x64
CLI or desktop build for Windows x64
Each workspace is its own branch and cwd
Tabs, files tree, and live diffs per worktree
PTYs scoped to the active workspace cwd
Optional MCP extensions
Optional MCP tools beside skills — OpenQuok stays CLI-first
Start with Bluesky, then schedule every other network from ThinkRail.
Autonomous agents & MCP
Open the landing page for another autonomous agent or MCP client. Compare setup steps, supported channels, and scheduling workflows beside ThinkRail.
Autonomous agents
Schedule Bluesky from OpenClaw with openquok-core skills and CLI examples.
Schedule Bluesky from Hermes Agent with openquok-core skills and CLI examples.
Schedule Bluesky from Grok Bot with openquok-core skills and CLI examples.
Schedule Bluesky from Dots with openquok-core skills and CLI examples.
Schedule Bluesky from Meta Muse with openquok-core skills and CLI examples.
Schedule Bluesky from ThinkRail with openquok-core skills and CLI examples.
Schedule Bluesky from Manus with openquok-core skills and CLI examples.
Schedule Bluesky from Gemini Task with openquok-core skills and CLI examples.
MCP clients
Draft and schedule Bluesky with MCP tools from Antigravity CLI.
Draft and schedule Bluesky with MCP tools from Android Studio.
Draft and schedule Bluesky with MCP tools from ChatGPT.
Draft and schedule Bluesky with MCP tools from Codex.
Draft and schedule Bluesky with MCP tools from Cursor.
Draft and schedule Bluesky with MCP tools from Claude Code.
Draft and schedule Bluesky with MCP tools from Claude Cowork.
Draft and schedule Bluesky with MCP tools from VS Code / Copilot.
Draft and schedule Bluesky with MCP tools from Devin Desktop.
Draft and schedule Bluesky with MCP tools from Amp.
Draft and schedule Bluesky with MCP tools from Warp.
Draft and schedule Bluesky with MCP tools from Muse Code.
Draft and schedule Bluesky with MCP tools from Grok Build.
Frequently asked questions
What ThinkRail is, how to install openquok-core, scheduling Bluesky posts, human approval, and Bluesky setup questions.
It depends on you. You can ask ThinkRail to publish now when the copy is ready, or save drafts and scheduled posts and approve them later on the OpenQuok calendar or kanban. Tell ThinkRail to use draft-only or not to publish when you want a review step first.
No. Create an app password in Bluesky settings while two-factor authentication stays on. Paste that password into Add Channel — not your main account password.
Step-by-step self-host setup for connecting OpenQuok to ThinkRail — install commands, auth patterns, and configuration snippets.
Connect your agent, review every draft, and schedule posts across channels before anything goes live.