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.
How do I install the CLI?#
-
Install it from GitHub with npm (or pnpm):
Terminal npm install -g github:voholabs/voholabs-studio-cli -
Sign in. On your own computer, use your browser:
Terminal voholabs auth:loginThe 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. -
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:
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:
voholabs integrations:list
voholabs posts:create -c "Launching today" -s "2026-11-02T09:00:00Z" -i "YOUR_CHANNEL_ID"Useful options for posts:create:
-cthe text. Repeat it for follow-up parts such as a thread or comments.-mmedia for the-cpart it follows, as comma-separated addresses of files already online. Usevoholabs uploadfirst for a local file.-ione or more channel IDs, comma-separated.-sthe date and time, in ISO 8601. Required.-tschedule(the default) ordraft.-dthe delay in minutes between follow-up parts.--settingsthe channel's own options as JSON, and-jto 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?#
| Area | Commands |
|---|---|
| Sign-in | auth:login, auth:status, auth:logout |
| Channels | integrations:list, integrations:groups, integrations:settings, integrations:trigger |
| Posts | posts:create, posts:list, posts:status, posts:delete, posts:missing, posts:connect |
| Scheduling | slots:next finds the next free slot for a channel |
| Media | upload, media:list, media:delete |
| Analytics | analytics:platform, analytics:post |
| Brief | brief:schema, brief:list, brief:get, brief:set, brief:delete, brief:onboarding |
| Skills | skills:list, skills:get |
| Wallet | wallet: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 --freshskips the one-hour cache and reads the network again. On the free plan, fresh X reads are charged.brief:delete CATEGORY KEY --keep-historydeletes a brief document but keeps its history, with the removal recorded in it.brief:onboardingshows the guided onboarding's status and the Studio link to start it.skills:listtakes--tagand--search;skills:get SLUGreads 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.
voholabs wallet:balance
voholabs wallet:prices --provider x
voholabs wallet:estimate --provider x -c "First post" -c "Reply"
voholabs wallet:transactions --type SPEND,REFUNDwallet:balanceshows your credits, auto top-up and whether scheduled posts are covered.wallet:priceslists what costs credits. Channels not listed are free.wallet:estimateprices a post before you schedule it, one-cfor the post and one for each reply. Nothing is charged.wallet:transactionslists top-ups, charges and refunds, with--page,--sizeand--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?#
| Variable | Use |
|---|---|
VOHOLABS_API_KEY | Your API key, or an OAuth app's pos_ token. |
VOHOLABS_API_URL | The 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:createneeds-swith a date even for drafts. Pick any date; a draft never publishes.- Can I edit a post from the CLI?
There is no
posts:updatecommand 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:deleteremoves the post from Studio only. Delete it on the network as well if you need it gone.