Publishing Guide
Prerequisites
- A GitHub account
- Sign in to Skill Vault using your GitHub account
- A skill package ready to publish (see structure below)
Package Structure
The simplest Skill Vault package is a folder with a root SKILL.md. You can add optional files and folders for richer integrations:
SKILL.md — required for a skill package
README.md — optional package docs
commands/ — optional Claude commands
statuslines/ — optional statusline scripts
settings.json — optional Claude settings merge
agents/ — optional agent markdown files
docs/ — optional supporting docs
When you upload a zip from the web UI, Skill Vault also accepts packages wrapped in a single top-level folder.
Publishing via Web
- Go to the Publish page
- Fill in the package metadata — name, tagline, description, category, and tags
- Upload a .zip file containing your package directory
- Review the preview and click "Publish"
Your package name must be unique within your account. Use lowercase letters, numbers, and hyphens only (e.g., my-skill-package).
Publishing via CLI
The sv CLI provides the fastest way to publish directly from your terminal:
# Authenticate with your Skill Vault account
sv login
# Save your token and owner in ~/.svrc
cat > ~/.svrc <<'EOF'
SKILL_VAULT_TOKEN="svt_..."
SKILL_VAULT_OWNER="your-github-username"
EOF
# Publish from your package directory
sv push ./my-package --owner your-github-username --version 1.0.0The CLI uploads the folder as a zip, creates package metadata if needed, and publishes the version you specify.
Package Metadata
The web publishing flow collects full metadata such as tagline, description, category, tags, and pricing. The CLI currently creates the package with a default category of other and uses the package folder name or name: frontmatter from SKILL.md.
| Field | Description |
|---|---|
| name | Unique package identifier (lowercase, hyphens allowed) |
| tagline | Short one-line description (max 120 characters) |
| category | Primary category (e.g., web, devops, security, ai, testing) |
| tags | Comma-separated list of tags for discovery (max 5) |
| description | Full markdown description shown on the package page |
| pricing | Either "free" or a price in USD (e.g., "9.99") |
Selling Paid Packages
Skill Vault supports selling premium packages through Stripe Connect. To get started:
- Go to your Dashboard and click "Connect Stripe"
- Complete the Stripe Express onboarding flow
- Once connected, set a price when publishing your package
Skill Vault charges a 15% platform fee on each sale. The remaining 85% is deposited directly into your Stripe account. Payouts follow Stripe's standard schedule (typically 2 business days).
You can change a package from free to paid (or adjust the price) at any time from your dashboard. Existing users who downloaded the free version retain access.
Versioning
Skill Vault uses semantic versioning (semver) for all packages. When you publish an update:
- Patch (1.0.0 → 1.0.1) — bug fixes, typo corrections
- Minor (1.0.0 → 1.1.0) — new skills added, non-breaking enhancements
- Major (1.0.0 → 2.0.0) — breaking changes, restructured skill files
To publish a new version, upload the updated package via the web UI or run:
sv push ./my-package --owner your-github-username --version 1.1.0Each version can include a changelog entry describing what changed. Previous versions remain available for download, and users can pin to a specific version if needed.