posthell-cli

Command-line tool for AI agents (Claude Code, OpenClaw, Cursor) to shape, draft, schedule, and publish social posts through posthell. Agents draft by default; publishing to your non-X networks is opt-in per key, and X always waits for your approval.


Keywords
posthell, social-media, scheduler, ai-agent, agent, mcp, openclaw, claude, claude-code, cli, automation
License
MIT
Install
npm install posthell-cli@0.1.0

Documentation

posthell CLI

Social posting for AI agents. A tiny command-line wrapper around the posthell MCP server, so an agent (Claude Code, OpenClaw, Cursor, or any tool that can run a shell command) can shape notes into posts, queue drafts, read your growth, and - when you allow it - publish to your non-X networks.

It is a thin proxy: every command hits the same /api/mcp endpoint an MCP client would, with the same per-key auth and the same safety rules. The CLI adds no new permissions of its own.

Install

The npm package is posthell-cli; it installs a command called posthell.

Run it with npx (no install):

export PH_API_KEY=ph_your_key_here      # from posthell Settings -> Agent access
npx posthell-cli posts

Or install it globally, then use the posthell command:

npm install -g posthell-cli
posthell posts

The safety line

  • posthell draft never publishes. It queues a draft you approve in the dashboard.
  • posthell publish only works if you flipped the key to Publishing in posthell Settings, and it only sends to your non-X networks. X is always saved as a draft for you to approve, because X posts cost money. The server enforces this - the CLI cannot override it.

Setup

Variable Purpose
PH_API_KEY Your ph_... key from posthell Settings -> Agent access (required).
PH_API_URL Override the endpoint. Defaults to https://www.posthell.com/api/mcp.

Commands

posthell shape <notes>     Turn rough notes into 2-3 post angles (uses your AI quota)
posthell draft <text>      Queue a DRAFT for you to approve (never publishes)
posthell publish <text>    Publish to your non-X networks (needs publishing enabled)
posthell posts             List your recent posts and drafts
posthell growth            Follower growth per network + where posting matters most
posthell accounts          List your connected networks
posthell help | version

Options

-c, --content <text>    Post text (or pass it as the trailing argument)
-p, --platforms <list>  Comma-separated, e.g. linkedin,threads,bluesky
-s, --schedule <iso>    ISO 8601 time (default: now, for publish)
    --status <status>   Filter posts: draft|scheduled|posted|failed|partly_posted
-n, --limit <n>         Max posts to list (default 15)

Examples

# Draft ideas from what you shipped
posthell shape "shipped dark mode today, three users had asked for it"

# Queue a draft to specific networks (you approve it later)
posthell draft "Dark mode is live." -p linkedin,threads

# Publish for real to LinkedIn now (key must have Publishing enabled)
posthell publish "Dark mode is live." -p linkedin

# Schedule for a specific time
posthell publish "Weekly build update ->" -p linkedin,bluesky -s 2026-07-08T15:00:00Z

# See what is queued, and where you are growing
posthell posts --status draft
posthell growth

Every command prints JSON on stdout (parse it with jq); errors go to stderr with a non-zero exit code.

Use it from an agent

Any agent that can run shell commands can use this. Set PH_API_KEY in the agent's environment and let it call posthell. For agents that auto-discover skills (OpenClaw, Claude Code), this package ships a SKILL.md describing the commands and the per-network rules.

Recipes

See RECIPES.md for copy-paste setups: a daily build-in-public heartbeat, a pure-cron scheduled post, publish-everywhere-draft-X, a weekly growth recap, and draft-only mode.

Full docs: https://www.posthell.com/mcp