Skip to main content

Overview

Install the publisher helper skill or open its listing: This guide covers the end-to-end CLI workflow to authenticate, package, verify, and publish a skill release.

How to publish

Required Inputs

Collect these values before running commands:
  • BASE_URL (default https://api.skilldock.io)
  • OPENAPI_URL (default https://api.skilldock.io/openapi.json)
  • NAMESPACE (publisher namespace, for example myorg)
  • SLUG (skill id, for example my-skill)
  • VERSION (release version, for example 1.2.3)
  • SKILL_PATH (local folder containing SKILL.md)

Auth once, then use a token

Browser auth:
For headless environments:
Create and save a long-lived token (avoids repeated OAuth):
Check active credential:
Manage tokens:
Tags:
  • skilldock
  • cli
  • auth
  • oauth
  • publishing
  • releases
  • tokens
  • verification
  • troubleshooting
  • rate-limits
Listing / Home:

1) Install CLI via pip

Use Python 3.10+.
If multiple Python interpreters exist, use:

2) Configure API endpoint (if non-default)

3) Authenticate with Google OAuth

Run browser login:
Behavior:
  • The CLI creates an auth session.
  • The CLI prints an auth_url and opens the browser (or prints a .../auth/google/start?session_id=... link when --no-open is used).
  • After Google approval, the CLI polls until a token is issued.
  • The CLI stores the token in local SkillDock config.
Validate auth:
If browser auto-open fails or you are on a headless box:
If you hit HTTP 429 (rate limit is approximately 5 attempts/minute), wait a full minute before retrying.

4) Create and manage API tokens

Create a long-lived token and save it as default:
Create a scoped/expiring token:
List tokens:
Revoke a token (delete token credential):

5) Create a new local skill (manual scaffold)

SkillDock currently packages existing folders. It does not provide a dedicated scaffold command. Create the folder:
Create the required SKILL.md file at the skill root:
Optional files:
  • requirements.txt
  • Scripts used by the skill
  • references/ or assets

6) Format a good skill

Follow these rules:
  • Keep frontmatter minimal: name and description
  • Use a specific description that includes trigger conditions
  • Keep instructions procedural and command-first
  • Include required inputs and expected outputs
  • Keep runnable commands copy-paste safe
  • Keep the folder clean; avoid virtualenvs, build folders, and git metadata in the published artifact
Packaging constraints enforced by the CLI packager:
  • SKILL.md must exist at skill root
  • Symbolic links are skipped
  • Common junk folders are excluded (.git, .venv, venv, node_modules, dist, build, caches)
  • Zip files larger than 10 MiB emit a warning

7) Verify before publish

Run package verification:
Use a dry-run upload to validate the publish payload without a network write:

8) Publish new skill or release version

Create the namespace if needed:
Publish a release:
Publish a private release:
Publish a new version:
Homepage URL notes:
  • Optional; sent as a query param
  • Backend precedence: query > multipart > SKILL.md > existing DB
  • Validation: http/https only; length <= 2048
  • Leave blank to keep the existing value unchanged
Dependencies:
  • Declare in SKILL.md frontmatter under dependencies: using semver ranges (for example >=0.1.0 <0.2.0)
  • Or pass repeatable --dependency "namespace/skill@<range>" flags on upload
  • API precedence merges frontmatter + CLI flags; invalid or missing dependency skills fail upload
  • Self-dependency is rejected
Examples:

9) Search existing skills

Free-text search:
Filter by namespace or tag:
Machine-readable output:

10) Download and install skills locally

Install the latest version:
Install an exact version:
Install to a custom directory (for example Codex home skills):
Notes:
  • The install command downloads the release archive and resolves dependencies recursively
  • The CLI writes local manifest and lock files (.skilldock.json, .skilldock.lock.json)

11) Delete workflows

Use the right delete path for the target object. Delete a local installed skill:
Delete an API token:
Delete a remote release or remote skill: There is no dedicated high-level skilldock skill delete command. Use one of these patterns. Discover the delete operation from OpenAPI and call it by operationId:
Use a low-level HTTP request when the API path is known:
If the API does not support that delete route, expect 404 or 405.

12) Quick troubleshooting

  • 401 Unauthorized: Run skilldock auth login or set a valid token
  • 403 Forbidden: Token is valid but missing permission
  • 404 Not Found: Wrong namespace/slug/version, or object is not visible
  • Token expired: Run skilldock auth login again
Check active configuration:

Revenue model

For sold skills, SkillDock commission is 50% of the sale price.
  • Provider share: 50%
  • SkillDock commission: 50%
Read the Terms of Service for current legal and commercial terms: For commercial listing details, see Commission model.

API

The publish workflow can be automated with the SkillDock API. OpenAPI specification: See the dedicated API guide for examples and integration patterns: API.

Verification process

Verification is an automatic background process that runs security and quality checks. These checks may run for:
  • Public skills
  • Private skills
  • Free skills
  • Paid/selling skills
The purpose of verification is to reduce the risk of:
  • Illegal or policy-breaking content/behavior
  • Malicious behavior
  • Vulnerable or unsafe behavior
  • Quality issues that can harm users or integrations
If suspicious or unsafe behavior is detected, a skill may be:
  • Frozen and made unavailable for installation
  • Removed from listings
  • Permanently deleted
These actions may be applied without notification. If you believe an action was triggered by an error, contact support: