OpenClawSkills
GitHub
Tools & Skills • TutorialHeader.readTime

ClawHub

ClawHub guide: public skills registry + CLI workflows

ClawHub is the ''public skill registry for OpenClaw''. It is a free service: all skills are public, open, and visible to everyone for sharing and reuse. A skill is just a folder with a ''SKILL.md'' file (plus supporting text files). You can browse skills in the web app or use the CLI to search, install, update, and publish skills.

Site: ''clawhub.com''

Tutorial.step

Who this is for (beginner-friendly)

If you want to add new capabilities to your OpenClaw agent, ClawHub is the easiest way to find and install skills. You do not need to know how the backend works. You can:

- Search for skills by plain language.

- Install a skill into your workspace.

- Update skills later with one command.

- Back up your own skills by publishing them.

Tutorial.step

Quick start (non-technical)

1. Install the CLI (see next section).

2. Search for something you need:

- ''clawhub search "calendar"''

3. Install a skill:

- ''clawhub install <skill-slug>''

4. Start a new OpenClaw session so it picks up the new skill.

Tutorial.step

Install the CLI

Pick one:

Bash
npm i -g clawhub
Bash
pnpm add -g clawhub
Tutorial.step

How it fits into OpenClaw

By default, the CLI installs skills into ''./skills'' under your current working directory. If a OpenClaw workspace is configured, ''clawhub'' falls back to that workspace unless you override ''--workdir'' (or ''CLAWHUB_WORKDIR''). OpenClaw loads workspace skills from ''<workspace>/skills'' and will pick them up in the ''next'' session. If you already use ''~/.openclaw/skills'' or bundled skills, workspace skills take precedence.

For more detail on how skills are loaded, shared, and gated, see

''Skills''.

Tutorial.step

What the service provides (features)

- ''Public browsing'' of skills and their ''SKILL.md'' content.

- Search powered by embeddings (vector search), not just keywords.

- ''Versioning'' with semver, changelogs, and tags (including ''latest'').

- Downloads as a zip per version.

- Stars and comments for community feedback.

- Moderation hooks for approvals and audits.

- CLI-friendly API for automation and scripting.

Tutorial.step

CLI commands and parameters

Global options (apply to all commands):

- ''--workdir <dir>'': Working directory (default: current dir; falls back to OpenClaw workspace).

- ''--dir <dir>'': Skills directory, relative to workdir (default: ''skills'').

- ''--site <url>'': Site base URL (browser login).

- ''--registry <url>'': Registry API base URL.

- ''--no-input'': Disable prompts (non-interactive).

- ''-V, --cli-version'': Print CLI version.

Auth:

- ''clawhub login'' (browser flow) or ''clawhub login --token <token>''

- ''clawhub logout''

- ''clawhub whoami''

Options:

- ''--token <token>'': Paste an API token.

- ''--label <label>'': Label stored for browser login tokens (default: ''CLI token'').

- ''--no-browser'': Do not open a browser (requires ''--token'').

Search:

- ''clawhub search "query"''

- ''--limit <n>'': Max results.

Install:

- ''clawhub install <slug>''

- ''--version <version>'': Install a specific version.

- ''--force'': Overwrite if the folder already exists.

Update:

- ''clawhub update <slug>''

- ''clawhub update --all''

- ''--version <version>'': Update to a specific version (single slug only).

- ''--force'': Overwrite when local files do not match any published version.

List:

- ''clawhub list'' (reads ''.clawhub/lock.json'')

Publish:

- ''clawhub publish <path>''

- ''--slug <slug>'': Skill slug.

- ''--name <name>'': Display name.

- ''--version <version>'': Semver version.

- ''--changelog <text>'': Changelog text (can be empty).

- ''--tags <tags>'': Comma-separated tags (default: ''latest'').

Delete/undelete (owner/admin only):

- ''clawhub delete <slug> --yes''

- ''clawhub undelete <slug> --yes''

Sync (scan local skills + publish new/updated):

- ''clawhub sync''

- ''--root <dir...>'': Extra scan roots.

- ''--all'': Upload everything without prompts.

- ''--dry-run'': Show what would be uploaded.

- ''--bump <type>'': ''patch|minor|major'' for updates (default: ''patch'').

- ''--changelog <text>'': Changelog for non-interactive updates.

- ''--tags <tags>'': Comma-separated tags (default: ''latest'').

- ''--concurrency <n>'': Registry checks (default: 4).

Tutorial.step

Common workflows for agents

#

Tutorial.step

Search for skills

Bash
clawhub search "postgres backups"

#

Tutorial.step

Download new skills

Bash
clawhub install my-skill-pack

#

Tutorial.step

Update installed skills

Bash
clawhub update --all

#

Tutorial.step

Back up your skills (publish or sync)

For a single skill folder:

Bash
clawhub publish ./my-skill --slug my-skill --name "My Skill" --version 1.0.0 --tags latest

To scan and back up many skills at once:

Bash
clawhub sync --all
Tutorial.step

Advanced details (technical)

#

Tutorial.step

Versioning and tags

- Each publish creates a new ''semver'' ''SkillVersion''.

- Tags (like ''latest'') point to a version; moving tags lets you roll back.

- Changelogs are attached per version and can be empty when syncing or publishing updates.

#

Tutorial.step

Local changes vs registry versions

Updates compare the local skill contents to registry versions using a content hash. If local files do not match any published version, the CLI asks before overwriting (or requires ''--force'' in non-interactive runs).

#

Tutorial.step

Sync scanning and fallback roots

''clawhub sync'' scans your current workdir first. If no skills are found, it falls back to known legacy locations (for example ''~/openclaw/skills'' and ''~/.openclaw/skills''). This is designed to find older skill installs without extra flags.

#

Tutorial.step

Storage and lockfile

- Installed skills are recorded in ''.clawhub/lock.json'' under your workdir.

- Auth tokens are stored in the ClawHub CLI config file (override via ''CLAWHUB_CONFIG_PATH'').

#

Tutorial.step

Telemetry (install counts)

When you run ''clawhub sync'' while logged in, the CLI sends a minimal snapshot to compute install counts. You can disable this entirely:

Bash
export CLAWHUB_DISABLE_TELEMETRY=1
Tutorial.step

Environment variables

- ''CLAWHUB_SITE'': Override the site URL.

- ''CLAWHUB_REGISTRY'': Override the registry API URL.

- ''CLAWHUB_CONFIG_PATH'': Override where the CLI stores the token/config.

- ''CLAWHUB_WORKDIR'': Override the default workdir.

- ''CLAWHUB_DISABLE_TELEMETRY=1'': Disable telemetry on ''sync''.