Shipables The registry for Agent Skills. Discover, install, and publish skills for AI coding agents.
© 2026 Senso.ai . All rights reserved.
shipables publish | Shipables
Publish a skill to the Shipables registry from the current directory.
shipables publish
Package and upload the skill in the current directory to the Shipables registry.
Usage
shipables publish [options]
Options
Flag Description Default --dry-runPack and validate without uploading — --tag <tag>Dist-tag for this version latest--access <level>Access level for scoped packages public
Prerequisites
The current directory must contain both SKILL.md and shipables.json
You must be logged in (shipables login) unless using --dry-run
What happens during publish
Validates SKILL.md — Checks that frontmatter has required fields (name, description)
Validates shipables.json — Checks schema, version format (SemVer), and required fields
Checks authentication — Verifies you have a valid token
Selects publish scope — If you belong to organizations, prompts whether to publish as personal or under an org (@org/name)
Reads .shipablesignore — Loads ignore patterns (falls back to defaults: , , , , )
initsearch node_modules
.git
.env
.DS_Store
*.tgz
Creates tarball — Packs files into a .tgz archive
Computes integrity hash — Generates SHA-512 hash for the tarball
Shows package contents — Lists files that will be included (up to 20)
Confirms — Asks for confirmation before uploading
Uploads — Sends the tarball to the registry
Examples Publish the current skill:
Validate and pack without publishing:
shipables publish --dry-run
shipables publish --tag beta
The .shipablesignore file Create a .shipablesignore file to exclude files from the published package. The format is one pattern per line, similar to .gitignore:
node_modules
.git
.env
.DS_Store
*.tgz
tests/
draft/
The following are always excluded regardless of your ignore file: node_modules, .git, .env, .DS_Store, *.tgz.
Scoped publishing If you're a member of any organizations (with owner or admin role), the CLI will prompt you to choose a publish scope:
? Publish as:
> janesmith/my-skill (personal)
@myorg/my-skill (myorg)
Version conflicts Each version can only be published once. If you try to publish a version that already exists, the registry returns a conflict error. Bump the version in shipables.json before publishing again.