Publishing Guide

Prerequisites

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:

my-package/
  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

  1. Go to the Publish page
  2. Fill in the package metadata — name, tagline, description, category, and tags
  3. Upload a .zip file containing your package directory
  4. 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.0

The 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:

  1. Go to your Dashboard and click "Connect Stripe"
  2. Complete the Stripe Express onboarding flow
  3. 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:

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.0

Each 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.