Voholabs

    The Voholabs CLI and agent skill

    The Voholabs CLI lets you and your agents manage Voholabs Studio from a terminal. Install it with npm install -g github:voholabs/voholabs-studio-cli, sign in with voholabs auth:login or set VOHOLABS_API_KEY, and then create posts, upload media and read analytics with commands such as voholabs posts:create.

    Last updated View as Markdown

    How do I install the CLI?#

    1. Install it from GitHub with npm (or pnpm):

      Terminal
      npm install -g github:voholabs/voholabs-studio-cli
    2. Sign in. On your own computer, use your browser:

      Terminal
      voholabs auth:login

      The CLI shows a one-time code and a Studio address. Open it, sign in and approve the code. Credentials are saved in ~/.voholabs/credentials.json.

    3. Give your AI agent the Voholabs skill, so it knows how to use the CLI:

      Terminal
      npx skills add voholabs/voholabs-studio-cli

    Check the sign-in at any time with voholabs auth:status, and remove it with voholabs auth:logout.

    How do I use the CLI in CI or on a server?#

    Skip the browser sign-in and set your API key as an environment variable instead:

    Terminal
    npm install -g github:voholabs/voholabs-studio-cli
    export VOHOLABS_API_KEY="YOUR_API_KEY"

    Your key is in Settings › Connect Agent in Studio, where the CLI & AI Skills card also shows these steps with your key filled in. Keep it in your CI's secret store, never in the repository. If both are present, a browser sign-in takes priority over the key.

    How do I schedule a post?#

    Find the channel ID, then create the post:

    Terminal
    voholabs integrations:list
    voholabs posts:create -c "Launching today" -s "2026-11-02T09:00:00Z" -i "YOUR_CHANNEL_ID"

    Useful options for posts:create:

    • -c the text. Repeat it for follow-up parts such as a thread or comments.
    • -m media for the -c part it follows, as comma-separated addresses of files already online. Use voholabs upload first for a local file.
    • -i one or more channel IDs, comma-separated.
    • -s the date and time, in ISO 8601. Required.
    • -t schedule (the default) or draft.
    • -d the delay in minutes between follow-up parts.
    • --settings the channel's own options as JSON, and -j to read the whole post from a JSON file.

    voholabs integrations:settings YOUR_CHANNEL_ID shows each channel's limits and the settings it accepts.

    Which commands are there?#

    AreaCommands
    Sign-inauth:login, auth:status, auth:logout
    Channelsintegrations:list, integrations:groups, integrations:settings, integrations:trigger
    Postsposts:create, posts:list, posts:status, posts:delete, posts:missing, posts:connect
    Schedulingslots:next finds the next free slot for a channel
    Mediaupload, media:list, media:delete
    Analyticsanalytics:platform, analytics:post
    Briefbrief:schema, brief:list, brief:get, brief:set, brief:delete, brief:onboarding
    Skillsskills:list, skills:get
    Walletwallet:balance, wallet:prices, wallet:transactions, wallet:estimate

    Run voholabs --help, or add --help to any command, for its options. If a command on this page is missing, run the install command again to update the CLI.

    Some options worth knowing:

    • analytics:platform YOUR_CHANNEL_ID --fresh skips the one-hour cache and reads the network again. On the free plan, fresh X reads are charged.
    • brief:delete CATEGORY KEY --keep-history deletes a brief document but keeps its history, with the removal recorded in it.
    • brief:onboarding shows the guided onboarding's status and the Studio link to start it.
    • skills:list takes --tag and --search; skills:get SLUG reads one skill in full.

    The brief and skills commands need a paid plan or a topped-up wallet.

    How do I check credits from the CLI?#

    The wallet commands are for the free plan, where some actions are paid from your wallet. They only read: topping up stays in Studio.

    Terminal
    voholabs wallet:balance
    voholabs wallet:prices --provider x
    voholabs wallet:estimate --provider x -c "First post" -c "Reply"
    voholabs wallet:transactions --type SPEND,REFUND
    • wallet:balance shows your credits, auto top-up and whether scheduled posts are covered.
    • wallet:prices lists what costs credits. Channels not listed are free.
    • wallet:estimate prices a post before you schedule it, one -c for the post and one for each reply. Nothing is charged.
    • wallet:transactions lists top-ups, charges and refunds, with --page, --size and --type.

    If your credits do not cover an X post, posts:create fails with the reason and the top-up link. See Credits and wallet and the live prices page.

    Which environment variables does it read?#

    VariableUse
    VOHOLABS_API_KEYYour API key, or an OAuth app's pos_ token.
    VOHOLABS_API_URLThe API address. Defaults to https://studio.voholabs.com/api; you only change it for testing.

    Frequently asked questions

    Which one should my agent use, the CLI or MCP?

    Either works. Chat apps such as Claude and ChatGPT use MCP. Agents that run in a terminal, and scripts or CI jobs, often find the CLI simpler, especially with the Voholabs skill installed.

    Can I create a draft without a date?

    Not yet. posts:create needs -s with a date even for drafts. Pick any date; a draft never publishes.

    Can I edit a post from the CLI?

    There is no posts:update command yet. Delete the post and create it again, or ask an agent connected over MCP to edit it in place.

    Does deleting a published post remove it from the network?

    No. posts:delete removes the post from Studio only. Delete it on the network as well if you need it gone.