clawhub README

The project's README from github.com/openclaw/clawhub. As one markdown file: README.md.

ClawHub

ClawHub banner

ClawHub

CI status Discord MIT License

ClawHub is the public skill registry for OpenClaw: publish, version, and search text-based agent skills (a SKILL.md plus supporting files). It's designed for fast browsing + a CLI-friendly API, with moderation hooks and vector search. It also exposes a native OpenClaw package catalog for code plugins, bundle plugins, and experimental whole-agent Claw packages.

ClawHub · Vision · Docs · Contributing · Discord

What you can do with it

How it works (high level)

CLI

Common CLI flows:

Docs: docs/quickstart.md, docs/cli.md.

Removal permissions

Telemetry

ClawHub tracks minimal install telemetry (to compute install counts) when you run clawhub install while logged in. Disable via:

export CLAWHUB_DISABLE_TELEMETRY=1

Details: docs/telemetry.md.

Repo layout

Local dev

Prereqs: Bun (Convex runs via bunx, no global install needed). The detached worktree path also requires Worktrunk (wt).

bun install
cp .env.local.example .env.local
# edit .env.local — see CONTRIBUTING.md for local Convex values

# terminal A: local Convex backend
bunx convex dev

# terminal B: web app (port 3000)
bun run dev

# detached/Codex worktree preview
bun run setup:worktree
bun run dev:worktree
wt --yes url

# seed local QA fixtures and the public corpus
bun run seed:dev

bun run seed:dev waits for the local Convex deployment, runs the dev fixture seed, and refreshes global stats. The fixtures are owned by @local and are safe to rerun after fixture or schema changes. For reset/manual commands and full setup instructions (env vars, GitHub OAuth, JWT keys, database seeding), see CONTRIBUTING.md.

Environment

Nix plugins (nixmode skills)

ClawHub can store a nix-clawdbot plugin pointer in SKILL frontmatter so the registry knows which Nix package bundle to install. A nix plugin is different from a regular skill pack: it bundles the skill pack, the CLI binary, and its config flags/requirements together.

Add this to SKILL.md:

---
name: peekaboo
description: Capture and automate macOS UI with the Peekaboo CLI.
metadata:
  {
    "clawdbot":
      {
        "nix":
          {
            "plugin": "github:clawdbot/nix-steipete-tools?dir=tools/peekaboo",
            "systems": ["aarch64-darwin"],
          },
      },
  }
---

Install via nix-clawdbot:

programs.clawdbot.plugins = [
  { source = "github:clawdbot/nix-steipete-tools?dir=tools/peekaboo"; }
];

You can also declare config requirements + an example snippet:

---
name: padel
description: Check padel court availability and manage bookings via Playtomic.
metadata:
  {
    "clawdbot":
      {
        "config":
          {
            "requiredEnv": ["PADEL_AUTH_FILE"],
            "stateDirs": [".config/padel"],
            "example": "config = { env = { PADEL_AUTH_FILE = \\\"/run/agenix/padel-auth\\\"; }; };",
          },
      },
  }
---

To show CLI help (recommended for nix plugins), include the cli --help output:

---
name: padel
description: Check padel court availability and manage bookings via Playtomic.
metadata: { "clawdbot": { "cliHelp": "padel --help\\nUsage: padel [command]\\n" } }
---

metadata.clawdbot is preferred, but metadata.clawdis and metadata.openclaw are accepted as aliases.

Skill metadata

Skills declare their runtime requirements (env vars, binaries, install specs) in the SKILL.md frontmatter. ClawHub's security analysis checks these declarations against actual skill behavior; medium review findings stay visible, and the suspicious filter is reserved for high-impact or malicious concerns.

Full reference: docs/skill-format.md

Quick example:

---
name: my-skill
description: Does a thing with an API.
metadata:
  openclaw:
    requires:
      env:
        - MY_API_KEY
      bins:
        - curl
    primaryEnv: MY_API_KEY
---

Scripts

bun run dev
bun run build
bun run test
bun run coverage
bun run lint

clawhub (openclaw/clawhub)

registry
Searching Database…

9.5K ·GitHub
What is this?ClawHub is the public skill registry for OpenClaw: a place to publish, version, and search text-based agent skills (a SKILL.md plus supporting files), plus a catalog of OpenClaw code and bundle plugins.
Is it a website I browse or a CLI tool I install?Both: a web app for browsing and rendering skills, a CLI-friendly API, and the clawhub CLI for searching, installing, and publishing straight from the terminal.
How do I grab a skill from it?Sign in with clawhub login (clawhub login --device on headless machines), find skills via clawhub search or clawhub explore, then clawhub install @openclaw/demo. clawhub list and clawhub update --all manage installed copies.
Do I need a GitHub account to use it, like with npm?Yes — sign-in runs through GitHub OAuth and powers both the web app and the CLI. Working on ClawHub itself needs Bun as a prereq, and running your own embeddings-backed search needs an OpenAI API key.
Can I delete a skill I published if I change my mind?clawhub uninstall only removes the copy on your machine. Uploaded registry skills are soft-deleted and restorable via clawhub delete / clawhub undelete; hard deletion is admin-only.
Does installing a skill report anything back?Only minimal install telemetry: a logged-in clawhub install is recorded to compute install counts, and you can disable it — details are in docs/telemetry.md.
What can I do with skills I already own?You can rename an owned skill without breaking old links or installs — the old slug stays as a redirect alias — and merge duplicate skills into one canonical slug that also redirects.
How does search work — is it just keywords?No. ClawHub indexes skills with OpenAI embeddings (text-embedding-3-small) and Convex vector search, so you search by meaning instead of brittle keyword matching.
Are published skills checked for safety?Skills declare runtime requirements (env vars, binaries, install specs) in their SKILL.md frontmatter, and ClawHub's security analysis checks those declarations against actual behavior. Medium findings stay visible, and the suspicious filter is reserved for high-impact or malicious concerns.
Can I publish plugins too, not just skills?Yes — native code plugins and bundle plugins go through the /packages APIs and CLI flows. Code-plugin manifests must declare openclaw.compat.pluginApi and openclaw.build.openclawVersion, and experimental whole-agent Claw packages can be hosted as well.
Creator
openclaw
Size
349.2 MB
Stars
9.5K
Age
9mo
Commits · 90 Days