sv CLI Reference
Install the CLI
curl -fsSL https://skillvault.md/install.sh | shThis installs sv to ~/.local/bin/sv by default. If that directory is not on your PATH, the installer prints the export line you need.
Set up publishing credentials
- Run sv login to open your dashboard
- Sign in with GitHub if needed
- Click Create Token in the CLI Tokens section
- Paste your token and username below to get the setup command
cat > ~/.svrc <<'EOF'
SKILL_VAULT_TOKEN="svt_..."
SKILL_VAULT_OWNER="your-github-username"
EOFYour token stays in your browser — nothing is sent to the server.
Tokens are only needed for publishing and deleting packages. Public installs work without authentication.
Common commands
| Command | What it does |
|---|---|
| sv list | List packages in the registry |
| sv list your-user | List packages for one author |
| sv info author/package | Show package metadata |
| sv install author/package | Install for Claude Code into ~/.claude/skills/ |
| sv install author/package --target codex | Install for Codex into ~/.codex/skills/ |
| sv pull author/package ./dir | Download a package without installing it |
| sv push ./my-skill --owner your-user | Create or update one package from a local folder |
| sv sync-up ./skills --owner your-user | Upload every package directory found under a local folder |
Package layout for publishing
The simplest publishable package is a folder that contains a root SKILL.md. You can also include extras such as commands/, statuslines/, settings.json, agents/, and docs/.
my-skill/
SKILL.md
README.md optional
commands/ optional Claude commands
statuslines/ optional Claude statusline scripts
settings.json optional Claude settings merge
agents/ optional agent files
docs/ optional package docs
SKILL.md
README.md optional
commands/ optional Claude commands
statuslines/ optional Claude statusline scripts
settings.json optional Claude settings merge
agents/ optional agent files
docs/ optional package docs
Publish a package
sv push ./my-skill --owner your-github-username --version 1.0.0The package name comes from the folder name by default. If SKILL.md contains a frontmatter name: field, the CLI uses that instead.