Publishing to the registry

Publishing does not upload your skill. The registry records where it lives on GitHub, fetches its SKILL.md from there, and scores it. Anyone can then install it by your-github-handle/skill-name.

Before you publish

  1. The skill is in a GitHub repository, pushed. The registry reads it from GitHub, not from your disk.
  2. skillpm validate shows no errors.
  3. You have a publisher token (below).

Get a token

Sign in with GitHub at the registry's /auth/github page. Running skillpm publish without a token prints the exact URL. Then store the token:

skillpm config set token <token>

Publish

From the skill's folder:

skillpm publish --tags debugging,logs

skillpm reads the name from SKILL.md and the GitHub URL from the folder's git remote. If the skill is in a subdirectory, or the remote is not its home, pass the URL yourself:

skillpm publish --source-url https://github.com/you/skills/tree/main/log-triage

The registry prints the skill's score and any diagnostics.

What happens next

  • The skill is published under your GitHub handle: you/log-triage. Names are unique per owner, so another publisher's log-triage does not conflict with yours, and publishing a second skill with a name you already use is rejected.
  • It gets the community trust tier.
  • Anyone can install it:
skillpm install you/log-triage

Updating a skill

Installs always clone the skill from GitHub, so they get your latest push. The registry's listing — description and score — is what it read when you published. To refresh it after pushing changes, run this from the skill's folder:

skillpm publish --update

This needs skilldex-cli 1.5.5 or later.

Skillsets

Skillsets publish the same way, from the skillset's folder:

skillpm skillset publish --tags debugging

See skillpm skillset.