sb put
Upload a local skill to SkillsBin. Accepts a directory or a single file.
Usage
sb put <path>Arguments
| Argument | Description |
|---|---|
path | Path to a directory or file to upload. Required. |
Flags
| Flag | Short | Default | Description |
|---|---|---|---|
--org | "" | Target organization slug. Uploads to personal bin if omitted. | |
--type | "" | Force item type (skill, command, prompt, plugin, agent, statusline). | |
--message | -m | "" | Commit message for this change. |
Examples
Upload a skill directory
sb put .claude/skills/deploy-helper# Created deploy-helper (skill) in personalUpdate an existing skill with a message
sb put .claude/skills/deploy-helper -m "Add error handling section"# Updated deploy-helper (skill) in personalUpload to an organization
sb put .claude/skills/deploy-helper --org my-team# Created deploy-helper (skill) in my-teamUpload a single file
sb put ./my-command.md# Created my-command (command) in personalForce a specific type
sb put ./notes.md --type prompt# Created notes (prompt) in personalAuto-detection
From a directory
When uploading a directory, sb put looks for known files in this order:
| File | Detected type |
|---|---|
SKILL.md | skill |
plugin.json | plugin |
<slug>.md | command |
<slug>.sh | statusline |
Any *.md (fallback) | skill |
The slug is the directory name.
From a file
| Extension | Detected type |
|---|---|
.md | command |
.json | plugin |
.sh | statusline |
| Other | skill |
The slug is the filename without extension.
The --type flag overrides all auto-detection.
Errors
| Code | Cause |
|---|---|
LOCAL_NOT_FOUND | Path does not exist or contains no recognized files. |
AUTH_INVALID | Token missing or expired. |
PERMISSION_DENIED | Not authorized to write to the target org. |