@social-media-scheduler/cli npm package — install the CLI once and OpenClaw automatically discovers the skill.
Install
1
Install OpenClaw on your machine
Follow the OpenClaw install guide. Requires Node.js 22+.
2
Install the Social media studio CLI (which ships the skill)
@social-media-scheduler/cli package includes:- The
so-meCLI binary SKILL.md— the OpenClaw skill bodytools.md— auto-generated catalog of all 205 toolsexamples/— three worked transcripts (schedule-post.md,reply-dm.md,weekly-report.md)
3
Authenticate
Create an API key at so-me.studio/settings?tab=api, then export it:OpenClaw checks eligibility automatically. Verify with:Once paired, you can chat with the agent from Discord, Slack, WhatsApp, Telegram, or any of 22 supported messengers.
Or via ClawHub
The skill is published on ClawHub. Install with either of the canonical commands:@social-media-scheduler/cli on npm — ClawHub indexes the published npm package.
Skill page: clawhub.ai/yasin047/so-me-studio
What you can ask
After install, prompt the agent in plain English:
The agent has access to all 205 Social media studio MCP tools — every action available in the dashboard is available here.
Chat from any messenger
OpenClaw supports 22 messaging channels — DM the agent from whichever you already use. Once paired, every channel uses the same agent and the sameso-me-studio skill, so you get the same answers from Discord, WhatsApp, or Slack.
First-time prerequisite
Before any channel can be added, OpenClaw needs initial config at~/.openclaw/openclaw.json:
openclaw gateway fail with Missing config. Run openclaw setup or set gateway.mode=local.
The pattern (works for any channel)
gateway command starts a local daemon that listens on every enabled channel and routes messages to your installed skills.
Top 7 — full setup
- Discord
- Slack
- WhatsApp
- Telegram
- iMessage
- MS Teams
- Google Chat
1. Create a Discord application3. Register the channelThe wizard prompts for an account identifier — use your Discord user ID or username.4. Run the gateway + smoke testThen in Discord, DM your bot:
- Go to discord.com/developers/applications → New Application
- Bot tab → Add Bot → click “Copy” under TOKEN (keep it secret)
- Bot tab → INTENT SETTINGS → enable Message Content Intent ⚠️ required
- (Optional, for server use) OAuth2 → URL Generator → scope
bot, permissionsSend Messages,Read Message History,Embed Links,Attach Files→ open the URL to invite the bot to a server. For DM-only use, skip this step.
“List my connected social accounts”The first message triggers a pairing code printed in the OpenClaw terminal. Approve with
openclaw admin pair-code <code>.Why no WebChat? Older OpenClaw tutorials referenced a
webchat channel — it isn’t a real user-facing channel in the current CLI (it’s an internal routing constant). openclaw channels add --channel webchat returns unknown channel id: webchat. For a fast, no-account-needed test, use Telegram above (~1 minute via @BotFather).15 more channels (+ 1 coming-soon)
Long-tail channels (one-line setup pointers)
Long-tail channels (one-line setup pointers)
What you can ask after pairing
The same prompts work on every channel:- “What social accounts do I have connected?”
- “Schedule a tweet ‘launching today’ for tomorrow at 9am UTC.”
- “Generate a Friday product-launch caption for LinkedIn and schedule it for 5pm.”
- “How did my Twitter posts perform last week?”
- “Reply to that DM with my saved ‘pricing’ template.”
Universal troubleshooting
Missing configonopenclaw gateway: you skipped the prerequisite — runopenclaw onboard(oropenclaw setup --non-interactive --accept-risk) before adding any channel.- Bot doesn’t respond at all: make sure
openclaw gatewayis running. It’s the daemon that listens on every channel — if it’s not running, no messages get through. - First message stuck: OpenClaw requires pairing on first use. The first DM triggers a code printed in the terminal; approve with
openclaw admin pair-code <code>. - Discord-specific: Message Content Intent must be enabled on the developer portal, otherwise the bot can’t read DMs.
- Slack-specific: missing OAuth scopes (
im:history,im:read,chat:write); reinstall the app to your workspace after adding scopes. - Skill not eligible:
openclaw skills list --eligibleshould includeso-me-studio. If not,SOMESTUDIO_API_KEYisn’t visible to the gateway shell — export it in the same terminal where you runopenclaw gateway. - Multiple channels not all working: each channel has its own
enabledflag; check status withopenclaw channels status. - MS Teams or Google Chat unreachable: these require a public HTTPS endpoint for OpenClaw’s gateway. Use ngrok or Cloudflare Tunnel during development.
How it works
SKILL.md) is a system-prompt extension that teaches the agent how to use the so-me CLI. The CLI returns structured JSON for every operation, so the agent can parse, reason, and chain calls.
Hard rules baked into the skill
- Never invent account / post / conversation IDs — always look them up first.
scheduledAtis ISO 8601 UTC and strictly in the future.- Multi-step jobs (e.g. AI image → post) are chained sequentially.
- Never reveal API keys or webhook secrets, even when asked.
Updates
When new tools ship in Social media studio, the SKILL.md andtools.md are regenerated and @social-media-scheduler/cli is republished. Users re-run npm install -g @social-media-scheduler/cli to pick up the latest.
Source
The skill source lives in the Social media studio monorepo atapps/cli/SKILL.md. PRs welcome.
Other agents?
If you use a different agent runtime:- Hermes 4 — see the Hermes integration, which uses the same MCP backend via
npm install -g @so-me/hermes-agent. - Claude Desktop / Cursor / OpenCode — point them at our MCP server directly. No skill or runtime needed.
- Anything else (LangGraph, CrewAI, OpenAI Assistants, Anthropic API) — generate a tool definition file in their preferred format: