Create, schedule, and publish social media posts across Instagram, TikTok, YouTube, X, LinkedIn, Facebook, Pinterest, Threads, and Bluesky via the Social0 CLI (preferred) or MCP. Covers account listing, media upload, drafts, instant publish, scheduling, and per-platform publish status.
Integrations
Posthive
Try itSchedule social media posts to 13 platforms (Bluesky, Threads, Instagram, LinkedIn, Mastodon, YouTube, Facebook Pages, Pinterest, Telegram, X/Twitter, Nostr)...
What it does
Schedule social media posts to 13 platforms (Bluesky, Threads, Instagram, LinkedIn, Mastodon, YouTube, Facebook Pages, Pinterest, Telegram, X/Twitter, Nostr) via the Posthive CLI. Use when the user asks to create, schedule, list, update, or delete social media posts, or manage their posting queue.
The skill document
Posthive — social media scheduling
Schedule posts to 13 social platforms from the command line. Every command outputs structured JSON.
Setup
If the user isn't already logged in, run posthive login — it opens their browser to sign in and stores credentials in ~/.posthive/config.json. No API key needed. Check with posthive whoami first if unsure.
Alternatively, env vars always take priority over the stored login (useful for CI or scripts):
export POSTHIVE_API_KEY=ph_xxx # Posthive → Settings → API Keys (Pro/Team plan)
export POSTHIVE_API_URL=http://localhost:3001 # optional — only for self-hosted Posthive, defaults to https://api.posthive.co
Run commands with npx posthive-cli or posthive if installed globally (npm i -g posthive-cli).
Workflow
- Always start with
accounts:listto get valid account IDs — never guess IDs. - Create posts with
posts:create. Posts are saved as DRAFTS by default — the user reviews them in Posthive before anything publishes. Only pass--schedulewhen the user explicitly asks to schedule directly. - Use
posts:approveto promote a draft to the scheduled queue.
Commands
# Auth (only if not already logged in)
posthive login
posthive whoami
posthive logout
# List connected accounts (do this first)
posthive accounts:list
# Create a draft post
posthive posts:create --content "Hello world" --accounts id1,id2
# Create with first comment (link/hashtags go here, not the caption)
posthive posts:create --content "Big launch today" --accounts id1 --first-comment "Details: https://example.com"
# Schedule directly (skips draft review — only when user explicitly asks)
posthive posts:create --content "Hello" --accounts id1 --schedule 2026-07-10T09:00:00Z
# With media (upload first, then reference the returned URL)
posthive upload ./image.png
posthive posts:create --content "Check this out" --accounts id1 --media https://...returned-url...
# Instagram Reel / Story (media required)
posthive posts:create --content "New reel" --accounts ig_id --media --media-type reel
# YouTube Short
posthive posts:create --content "Title here" --accounts yt_id --media --youtube-type short
# Queue management
posthive posts:list --status draft
posthive posts:get
posthive posts:update --content "Fixed typo"
posthive posts:approve --schedule 2026-07-10T09:00:00Z
posthive posts:duplicate
posthive posts:delete
# Templates
posthive templates:list
posthive templates:use --accounts id1 --content "Optional override"
# Dry run (full pipeline, no real API calls)
posthive posts:create --content "Test" --accounts id1 --dry-run
Platform notes
| Platform | Char limit | Notes |
|---|---|---|
| Bluesky | 300 | |
| Threads | 500 | |
| Mastodon | 500 | |
| X (Twitter) | 280 | Pro/Team plan, no links |
| 3,000 | Link in first comment performs better | |
| 2,200 | Image/video required; use --media-type for reel/story | |
| YouTube | — | Video required; use --youtube-type short or video |
| 500 | Image required | |
| Facebook Pages | 63,206 | |
| Telegram | 4,096 | |
| Nostr | — | |
| Discord | 2,000 | Webhook-based; no first comment |
| Tumblr | — | NPF format; image posts supported |
When posting to multiple platforms at once, keep content within the smallest char limit of the selected platforms, or create separate posts per platform with tailored content.
Best practices
- Keep a human in the loop: default to drafts, let the user approve.
- Timestamps are ISO 8601 UTC (e.g.
2026-07-10T09:00:00Z). Confirm the user's timezone before scheduling. - Put links and hashtag walls in
--first-commentrather than the main content on LinkedIn and Instagram. - On errors, the CLI exits non-zero and prints
{"error": "..."}to stdout.
Related skills
Schedule a social media post for a future time through PostLake, and list, reschedule, or cancel scheduled posts. Use when the user wants to post later or plan a calendar.
Create, schedule, and manage social media posts across Instagram, Facebook, X/Twitter, LinkedIn, and TikTok via the Social by InstantDM API and hosted MCP se...
Drive PurrPlan (social media scheduler) from your agent — plan, draft, schedule and publish posts across 12+ networks (LinkedIn, X, Instagram, TikTok, Facebook, YouTube, Threads, Bluesky…), manage the unified inbox and read analytics, via PurrPlan's remote MCP server. Use when the user wants to schedule social posts, fill a content calendar, reply to comments/DMs, or check social performance.
Schedule, draft, or publish social posts across 9 platforms via the AdaptlyPost API, with explicit confirmation before every post.
Publish a social media post right now to one or more connected accounts (X, LinkedIn, Instagram, TikTok, Facebook, Threads, Bluesky, YouTube, Pinterest) through PostLake. Use when the user wants to post immediately.