skillsctl publish#

Publish a skill to the registry

Synopsis#

Package a skill directory and upload it to the registry.

The directory passed via –dir must contain SKILL.md at its root; subdirectories (scripts/, references/, assets/) are packaged and preserved on install. Versions are immutable once published, so each publish must use a new –version.

skillsctl publish [flags]

Examples#

  # Publish the first version of a skill
  skillsctl publish \
    --name git-conventional \
    --version 1.0.0 \
    --description "Enforce conventional commit messages" \
    --dir ./git-conventional

  # Publish with tags and a changelog
  skillsctl publish \
    --name git-conventional \
    --version 1.1.0 \
    --description "Enforce conventional commit messages" \
    --dir ./git-conventional \
    --tag git --tag commits \
    --changelog "Add breaking-change detection"

Options#

      --changelog string     Release notes for this version
      --description string   Short description shown in 'skillsctl explore'
      --dir string           Path to the skill directory; must contain SKILL.md at its root
  -h, --help                 help for publish
      --name string          Skill name (lowercase, 2-64 chars, alphanumeric and hyphens)
      --tag strings          Tag for filtering in 'explore' (repeatable)
      --version string       Semantic version, e.g. 1.0.0; must be unique for this skill

Options inherited from parent commands#

      --api-url string            Registry URL; overrides the api_url setting from config and SKILLCTL_API_URL
      --credentials-path string   Credentials file path (for testing)

SEE ALSO#

  • skillsctl - Discover, install, and publish Claude Code skills