The binary is
so-me (the development build is so-me-dev). All examples below use so-me.
Subcommands use colon syntax — posts:list, media:upload, agent export-tools.Output Modes
Output formatting is controlled by global flags that apply to every command. They must be placed on the command line alongside the rest of your arguments (Commander treats them as global options).outputFormat), but --table on the
command line always wins for that invocation.
JSON Output & jq
Pipe any command intojq for extraction and transformation.
Pagination
List commands accept two pagination flags. There is no--cursor or --all flag on list
commands — paginate by incrementing --page.
The
--all flag exists only on agent export-tools, where it means “emit every tool
format” — it is unrelated to pagination.Shell Scripting
Create and Schedule
posts:create resolves the social account automatically from --platform when you do not pass
-a/--accounts. If multiple accounts match, the command prompts interactively — so in
non-interactive CI, pass an explicit account ID with -a or rely on having a single connected
account for that platform.Bulk Delete Failed Posts
Convert All Drafts
Authentication for CI
The CLI looks for credentials in this order: the--api-key flag, then the SOME_API_KEY
environment variable, then the API key stored by auth:login. For automation, prefer the
environment variable so nothing is written to disk.
GitHub Actions
Error Handling
Exit Codes
On failure the CLI sets a non-zero exit code (process.exitCode = 1), so &&, set -e, and
if guards behave as expected.
Verbose Errors
Use--verbose to see full error details, including the stack trace where one is available:
Rate Limit Handling
A rate-limited request (HTTP 429) exits with code 1. In scripts, add retry-with-backoff logic:Agent Tool Definitions
The CLI can export the Social media studio tool catalog in formats consumable by AI agent frameworks.agent export-tools fetches the canonical tool list live from the MCP server (a tools/list
JSON-RPC call to POST /mcp) and emits it in the format you choose. The MCP server is the single
source of truth, so exported definitions always match the live catalog.
string
One of
mcp, openai, anthropic, hermes, openclaw. Required unless --all is passed.string
Write the output to a file (and write any companion files alongside it). If the path looks like a
directory (no file extension, or a trailing slash), the format’s default filename is appended.
When omitted, the primary output is written to stdout.
boolean
default:"false"
Emit every supported format. Treats
--out as a directory (defaults to ./agent-tools) and
writes each format into its own subdirectory.Supported Formats
Examples
Every format is derived from the same
tools/list response, so exported definitions stay in sync
with the live tool catalog. Tool names are snake_case (e.g. create_post) and mirror the CLI’s
resource:verb commands. Over the MCP transport the same tools register as
mcp_so-me-studio_<tool_name> (e.g. mcp_so-me-studio_create_post).