Publishing & registering skills
Publishing & registering skills
Section titled “Publishing & registering skills”Share skills by registering them locally and, optionally, submitting them to a remote hub API.
:::warning No publish command
There is no kazma hub publish command. Use register for local install from a path, and submit only when a hub API is configured and reachable.
:::
Prerequisites
Section titled “Prerequisites”- A directory with valid
skill_manifest.yaml - Optional:
tools.py(native tools shape) or entry-point module KAZMA_SECRETif you will sign the skill
Recommended flow (local)
Section titled “Recommended flow (local)”1. Validate
Section titled “1. Validate”kazma hub validate ./my-skill# optional JSON:kazma hub validate ./my-skill --json2. Sign (integrity)
Section titled “2. Sign (integrity)”kazma hub sign ./my-skill# or: kazma hub sign ./my-skill --secret "$KAZMA_SECRET"Writes checksum + HMAC into the manifest (see Skills, MCP & Tools).
3. Register locally
Section titled “3. Register locally”kazma hub register ./my-skill4. Verify
Section titled “4. Verify”kazma hub search "my-skill"kazma hub listkazma hub info <skill-id>Optional: remote certification submit
Section titled “Optional: remote certification submit”If you operate a hub API (hub_url / CLI default):
kazma hub submit ./my-skill --source-url https://github.com/you/my-skillkazma hub status <submission_id>There is no --level flag on submit. Local readiness:
kazma hub check-certification ./my-skillVersioning
Section titled “Versioning”Use semantic versioning in the manifest:
- Patch (1.0.1): bug fixes
- Minor (1.1.0): backward-compatible features
- Major (2.0.0): breaking changes
Best practices
Section titled “Best practices”- Keep tools small and HITL-aware (danger tools must match real capabilities).
- Prefer the native
tools:map used by built-in skills underkazma-skills/. - Document env vars and permissions in the skill README.
- Run
validate+check-certificationbefore sharing.