Because the CLI is generated from the API schema, it comes with:
- Auto-generated commands for all API endpoints
- Type-safe parameters based on the OpenAPI schema
- Automatic documentation from API descriptions
- Multiple output formats — JSON, YAML, and table
- No prerequisites — one static binary; no Python, no
pip, nothing else to install - Pre-configured — a binary downloaded from a store already talks to that store
Install
Every running store serves the CLI for all supported platforms, and the download needs no sign-in:
curl -fsSL "http://localhost:8000/cli/download?platform=linux-amd64" -o sbs
chmod +x sbs
One endpoint; the platform is a query argument. The response carries the artifact's sha256 in X-SBS-SHA256, and a HEAD request returns it without transferring the binary. Add &format=archive for a tar.gz or zip — the better choice in a browser, since an archive keeps the executable bit and avoids macOS quarantine.
You can also grab it from the store's web UI — there's a Download CLI button in the masthead — or with pip:
pip install skillberry-store-cli
Already have sbs? It can fetch itself, verifying the checksum before writing:
sbs download-cli --platform darwin-arm64 # a build for another machine
sbs self-update # replace this binary
Supported platforms: linux-amd64, linux-arm64, darwin-amd64, darwin-arm64, windows-amd64. The binaries are not yet code-signed, so a browser download on macOS is quarantined — the curl install script avoids that, or clear it with xattr -dr com.apple.quarantine.
Upgrading? pip install skillberry-store-sdk no longer provides sbs; use skillberry-store-cli or skillberry-store-sdk[cli]. The SDK itself remains a pure Python library.
Connect
A binary downloaded from a store needs no configuration. To point one somewhere else:
sbs --help # Show all available commands
sbs connect http://prod:8000 # Point at a different server, permanently
SBS_URL=http://prod:8000 sbs list-skills # ... or just for one command
sbs list-skills # List all skills
Authentication happens on demand: any command prompts when the store requires it, and caches the token. SBS_TOKEN covers CI.
Command groups
| Group | Commands |
|---|---|
| Tools | create-tool, list-tools, get-tool, get-tool-module, update-tool, delete-tool, execute-tool, search-tools, add-tool |
| Skills | create-skill, list-skills, get-skill, update-skill, delete-skill, search-skills, detect-anthropic-skills, import-anthropic-skill, export-anthropic-skill |
| Snippets | create-snippet, list-snippets, get-snippet, update-snippet, delete-snippet, search-snippets |
| VMCP Servers | create-vmcp-server, list-vmcp-servers, get-vmcp-server, update-vmcp-server, delete-vmcp-server, start-vmcp-server, search-vmcp-servers |
| vNFS Servers | create-vnfs-server, list-vnfs-servers, get-vnfs-server, update-vnfs-server, delete-vnfs-server, start-vnfs-server, search-vnfs-servers |
| Admin | metrics, purge-all, health, health-ready |
A complete workflow
# 1. Connect to your server
sbs connect http://localhost:8000
# 2. Add a new tool
sbs create-tool --name calculator --description "Basic calculator"
# 3. Execute it with parameters
sbs execute-tool calculator --body='{"params":{"x":5,"y":3}}'
# 4. Group tools into a skill
sbs create-skill --name math-skill --description "Math utilities"
# 5. Expose the skill as a virtual MCP server
sbs create-vmcp-server --name my-server --skill-uuid <uuid>
# 6. Search semantically
sbs search-tools --search-term "calculator functions"
Output formats & filtering
sbs list-tools # JSON (default)
sbs list-tools -o yaml # YAML
sbs list-tools -o table # Table
sbs list-tools --filter='state=active'
sbs list-tools --offset=20 --limit=10
sbs list-tools -v # Verbose request/response
Install a skill into your agent with npx
A skill in a running store installs straight into Claude Code, Cursor, Codex and ~70 other agents — nothing to install first, npx fetches the CLI:
npx skills add https://store.example.com/pub/pdf-forms -y -a claude-code
You never have to compose that command. The store hands you the whole thing, flags included:
# one skill
sbs get-skill pdf-forms --fields name,_npx_install
# every skill you can see, each with its own command
sbs list-skills --fields name,_npx_install
# later, catch up on store-side edits — only what changed is re-downloaded
npx skills update
In the web UI, each skill's page has an Install with npx card with an agent picker and a copy button. Publishing is off by default — an operator opts in with npx_publish: true, since it serves skill content without a session.
The CLI reports a successful install to add-skill.vercel.sh — your hostname, the skill name and the URL you typed, which on a secured store contains an access token. File contents are never sent. Opt out once, for every run:
export DO_NOT_TRACK=1 # in ~/.bashrc, ~/.zshrc, or your CI environment
Scripting
The CLI slots naturally into shell scripts and pipelines:
# Back up all tools
sbs list-tools -o json > tools-backup.json
# Capture a tool's result as JSON
RESULT=$(sbs execute-tool my-tool --body='{"params":{}}' -o json)
The complete command reference, advanced flags, and troubleshooting live in the repository's CLI documentation.