Publishing

Publish skills to OpenSkill

Prerequisites

  • A validated skill (run osk validate)
  • An OpenSkill account (sign up at openskill.dev)
  • The OpenSkill CLI authenticated (osk login)

Authenticate

Before publishing, log in to the marketplace:

terminal
$ osk login

This opens a browser to complete authentication. Once logged in, your token is stored locally and used for all publish operations.

Publishing Workflow

There are two ways to publish skills: via a Git repository or directly to OpenSkill.

Via Git Repository

Create a Git repository with the standard skill repository structure:

Repository structure
my-skills-repo/
├── README.md
├── manifest.json       # Optional metadata
└── skills/
    ├── code-review/
    │   └── SKILL.md
    └── testing-helper/
        └── SKILL.md

Push to a Git hosting service and share the URL:

terminal
$ git push origin main

Via OpenSkill

Publishing directly to OpenSkill is a two-step process: push (creates a draft) then publish (makes it public).

Step 1: Audit (recommended)

Run a security audit before pushing to catch potential issues:

terminal
$ osk audit ./my-skill

Step 2: Push as draft

Push your skill to the marketplace. This uploads the skill and creates it as a draft:

terminal
$ osk push ./my-skill

Step 3: Publish

Once you're ready, make the draft public:

terminal
$ osk publish my-skill
After publishing, your skill is discoverable via osk search and the web at openskill.dev.

Skill Listing

When published, your skill's frontmatter is used to generate the listing page. Make sure your name, description, and tags are well-written for discoverability.

Updating Skills

To publish an update, increment the version field in your frontmatter and push again:

terminal
# Update version in SKILL.md, then:
$ osk push ./my-skill
$ osk publish my-skill
Use semantic versioning: bump the patch version for fixes, minor for new features, and major for breaking changes.