| name | description |
|---|---|
skillhub-registry |
Use this when you need to search, inspect, install, or publish agent skills against a SkillHub registry. SkillHub is a self-hosted skill registry with a ClawHub-compatible API layer, so prefer the `clawhub` CLI for registry operations instead of making raw HTTP calls. |
Use this skill when you need to work with a SkillHub deployment: search skills, inspect metadata, install a package, or publish a new version.
Important: Prefer the
clawhubCLI for registry workflows. SkillHub exposes a ClawHub-compatible API surface and a discovery endpoint at/.well-known/clawhub.json, so the CLI is the safest path for auth, resolution, and download behavior. Only fall back to raw HTTP when debugging the server itself.
SkillHub is a self-hosted, enterprise-oriented skill registry. It stores versioned skill packages, supports namespace-based governance, and keeps SKILL.md compatibility with OpenSkills-style packages.
Key facts:
- Internal coordinates use
@{namespace}/{skill_slug}. - ClawHub-compatible clients use a canonical slug instead.
latestalways means the latest published version, never draft or pending review.- Public skills in
@globalcan be downloaded anonymously. - Team namespace skills and non-public skills require authentication.
Point clawhub at the SkillHub base URL:
export CLAWHUB_REGISTRY_URL=https://skillhub.your-company.comIf you need authenticated access, provide an API token:
export CLAWHUB_API_TOKEN=sk_your_api_token_hereOptional local check:
curl https://skillhub.your-company.com/.well-known/clawhub.jsonExpected response:
{ "apiBase": "/api/v1" }SkillHub has two naming forms:
| SkillHub coordinate | Canonical slug for clawhub |
|---|---|
@global/my-skill |
my-skill |
@team-name/my-skill |
team-name--my-skill |
Rules:
--is the namespace separator in the compatibility layer.- If there is no
--, the skill is treated as@global/.... latestresolves to the latest published version only.
Examples:
npx clawhub install my-skill
npx clawhub install my-skill@1.2.0
npx clawhub install team-name--my-skillnpx clawhub search emailUse an empty query when you want a broad listing:
npx clawhub search ""npx clawhub info my-skill
npx clawhub info team-name--my-skillnpx clawhub install my-skill
npx clawhub install my-skill@1.2.0
npx clawhub install team-name--my-skillPrepare a skill package directory, then publish it:
npx clawhub publish ./my-skillPublishing requires authentication and sufficient permissions in the target namespace.
Download and search permissions depend on namespace and visibility:
@global+PUBLIC: anonymous search, inspect, and download are allowed.- Team namespace +
PUBLIC: authentication required for download. NAMESPACE_ONLY: authenticated namespace members only.PRIVATE: owner or explicitly authorized users only.- Publish, star, and other write operations always require authentication.
If a request fails with 403, check:
- whether the skill belongs to a team namespace,
- whether the skill is
NAMESPACE_ONLYorPRIVATE, - whether your token is valid,
- whether you have namespace publish permissions.
SkillHub expects OpenSkills-style packages with SKILL.md as the entry point.
Minimum valid SKILL.md frontmatter:
---
name: my-skill
description: When to use this skill
---Required structure:
my-skill/
├── SKILL.md
├── references/
├── scripts/
└── assets/
Contract notes:
nameanddescriptionare required.namebecomes the immutable skill slug on first publish.descriptionbecomes the registry summary.references/,scripts/, andassets/are optional.- The package is treated as a text-first resource bundle, not a binary artifact bucket.
Before publishing:
- Ensure
SKILL.mdexists at the package root. - Keep the skill name in kebab-case.
- Make sure the version you are publishing is semver-compatible.
- Avoid relying on
latestas a rollback tool; SkillHub keepslatestautomatically pinned to the newest published version. - Use custom tags like
betaorstablefor release channels when needed.
Use direct HTTP only for server debugging, contract testing, or compatibility work. Relevant endpoints exposed by the current codebase include:
GET /.well-known/clawhub.jsonGET /api/v1/searchGET /api/v1/resolveGET /api/v1/download/{slug}GET /api/v1/skills/{slug}POST /api/v1/publishGET /api/v1/whoami
For normal registry usage, stay on the clawhub CLI.
Read these local documents when you need more detail about SkillHub behavior:
docs/00-product-direction.mddocs/06-api-design.mddocs/07-skill-protocol.mddocs/14-skill-lifecycle.mddocs/openclaw-integration.mdREADME.md