[BREAKGLASS] Skill Directory for OpenClaw https://clawhub.ai
Go to file
momothemage ef8d53fa5f
Some checks failed
Security Gate: Secret Scanning / Scan for Verified Secrets (push) Has been cancelled
fix: drop unrelated conflict carryover from PR #1879
2026-05-07 10:42:51 +08:00
.agents/skills chore: keep only Convex agent skills 2026-04-27 14:20:04 -07:00
.github/workflows feat: add ClawHub rescan guidance workflow 2026-04-28 20:07:52 -07:00
convex fix: drop unrelated conflict carryover from PR #1879 2026-05-07 10:42:51 +08:00
docs chore(release): prepare clawhub cli 0.11.0 2026-04-28 02:26:56 +01:00
e2e Merge pull request #1861 from openclaw/pe/rescan 2026-04-28 16:32:26 -07:00
packages chore(release): prepare clawhub cli 0.12.0 2026-04-28 16:52:53 -07:00
public Refresh Open Graph image (#1754) 2026-04-20 21:59:08 -05:00
scripts feat: add ClawHub rescan guidance workflow 2026-04-28 20:07:52 -07:00
server docs: update repository guidelines and improve formatting across multiple files 2026-03-18 21:56:01 -05:00
src fix: drop unrelated conflict carryover from PR #1879 2026-05-07 10:42:51 +08:00
.env.local.example feat: SoulHub registry + auto-seed 2026-01-10 18:25:11 +00:00
.gitignore chore: keep only Convex agent skills 2026-04-27 14:20:04 -07:00
.nvmrc Adjust mobile nav trigger spacing and add Node version pin 2026-04-01 09:03:13 -05:00
.oxfmtrc.jsonc chore: add oxfmt config 2026-02-14 02:15:12 +01:00
.oxlintrc.json feat: make account deletion irreversible and migrate lint to oxlint 2026-02-14 02:15:01 +01:00
AGENTS.md chore: keep only Convex agent skills 2026-04-27 14:20:04 -07:00
bun.lock chore(release): prepare clawhub cli 0.12.0 2026-04-28 16:52:53 -07:00
CHANGELOG.md docs: note vt code insight calibration 2026-04-28 08:40:09 +01:00
CLAUDE.md fix: resolve all lint errors 2026-04-04 00:01:43 +09:00
clawdhub refactor: rename internal clawdhub package path (#1490) 2026-04-02 17:50:33 +02:00
clawhub refactor: rename internal clawdhub package path (#1490) 2026-04-02 17:50:33 +02:00
components.json feat: adopt shadcn-managed ui primitives 2026-04-27 20:48:15 -07:00
CONTRIBUTING.md refactor: rename internal clawdhub package path (#1490) 2026-04-02 17:50:33 +02:00
convex.json feat: bootstrap clawdhub 2026-01-03 18:14:33 +01:00
DEPRECATIONS.md feat: add v1 public api 2026-01-07 18:28:51 +01:00
DESIGN.md Modern utility store (#1646) 2026-04-12 23:23:08 -05:00
LICENSE Initial commit 2026-01-03 14:49:41 +01:00
package.json ci: check oxfmt on pull requests 2026-04-28 18:16:32 -07:00
playwright.config.ts enchance: mobile skills ux (#1737) 2026-04-18 20:10:03 -05:00
README.md docs: surface package publish flow 2026-04-27 20:34:56 +01:00
tsconfig.json feat: adopt shadcn-managed ui primitives 2026-04-27 20:48:15 -07:00
tsconfig.oxlint.json refactor: rename internal clawdhub package path (#1490) 2026-04-02 17:50:33 +02:00
vercel.json fix(security): enable safe SVG handling so shields.io badges render 2026-04-22 22:50:43 -07:00
VISION.md docs: update repository guidelines and improve formatting across multiple files 2026-03-18 21:56:01 -05:00
vite.config.ts Modern utility store (#1646) 2026-04-12 23:23:08 -05:00
vitest.config.ts test: fix root test and typecheck gates 2026-04-27 20:51:00 +01:00
vitest.e2e.config.ts test: ignore generated vercel output in vitest 2026-03-21 19:35:46 -07:00
vitest.setup.ts test: fix root test and typecheck gates 2026-04-27 20:51:00 +01:00

ClawHub

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 now exposes a native OpenClaw package catalog for code plugins and bundle plugins.

onlycrabs.ai is the SOUL.md registry: publish and share system lore the same way you publish skills.

ClawHub · onlycrabs.ai · Vision · Docs · Contributing · Discord

What you can do with it

  • Browse skills + render their SKILL.md.
  • Publish new skill versions with changelogs + tags (including latest).
  • Rename an owned skill without breaking old links or installs.
  • Merge duplicate owned skills into one canonical slug.
  • Browse souls + render their SOUL.md.
  • Publish new soul versions with changelogs + tags.
  • Search via embeddings (vector index) instead of brittle keywords.
  • Star + comment; admins/mods can curate and approve skills.
  • Browse OpenClaw packages with family/trust/capability metadata.
  • Publish native code plugins and bundle plugins through /packages APIs and CLI flows.

onlycrabs.ai (SOUL.md registry)

  • Entry point is host-based: onlycrabs.ai.
  • On the onlycrabs.ai host, the home page and nav default to souls.
  • On ClawHub, souls live under /souls.
  • Soul bundles only accept SOUL.md for now (no extra files).

How it works (high level)

  • Web app: TanStack Start (React, Vite/Nitro).
  • Backend: Convex (DB + file storage + HTTP actions) + Convex Auth (GitHub OAuth).
  • Search: OpenAI embeddings (text-embedding-3-small) + Convex vector search.
  • API schema + routes: packages/schema (clawhub-schema).

CLI

Common CLI flows:

  • Auth: clawhub login, clawhub whoami
  • Discover: clawhub search ..., clawhub explore
  • Browse unified catalog (skills + plugins): clawhub package explore, clawhub package inspect <name>
  • Manage local installs: clawhub install <slug>, clawhub uninstall <slug>, clawhub list, clawhub update --all
  • Inspect without installing: clawhub inspect <slug>
  • Publish/sync skills: clawhub skill publish <path>, clawhub sync
  • Publish plugins: clawhub package publish <source>
  • Code-plugin manifests must include openclaw.compat.pluginApi and openclaw.build.openclawVersion; see docs/cli.md for a minimal example.
  • Canonicalize owned skills: clawhub skill rename <slug> <new-slug>, clawhub skill merge <source> <target>

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

Removal permissions

  • clawhub uninstall <slug> only removes a local install on your machine.
  • Uploaded registry skills use soft-delete/restore (clawhub delete <slug> / clawhub undelete <slug> or API equivalents).
  • Soft-delete/restore is allowed for the skill owner, moderators, and admins.
  • Hard delete is admin-only (management tools / ban flows).
  • Owner rename keeps the old slug as a redirect alias.
  • Owner merge hides the source listing and redirects the old slug to the canonical target.

Telemetry

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

export CLAWHUB_DISABLE_TELEMETRY=1

Details: docs/telemetry.md.

Repo layout

  • src/ — TanStack Start app (routes, components, styles).
  • convex/ — schema + queries/mutations/actions + HTTP API routes.
  • packages/schema/ — shared API types/routes for the CLI and app.
  • docs/ — project documentation (architecture, CLI, auth, deployment, and more).
  • docs/spec.md — product + implementation spec (good first read).

Local dev

Prereqs: Bun (Convex runs via bunx, no global install needed).

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

# seed sample data
bunx convex run --no-push devSeed:seedNixSkills

For full setup instructions (env vars, GitHub OAuth, JWT keys, database seeding), see CONTRIBUTING.md.

Environment

  • VITE_CONVEX_URL: Convex deployment URL (https://<deployment>.convex.cloud).
  • VITE_CONVEX_SITE_URL: Convex site URL (https://<deployment>.convex.site).
  • VITE_SOULHUB_SITE_URL: onlycrabs.ai site URL (https://onlycrabs.ai).
  • VITE_SOULHUB_HOST: onlycrabs.ai host match (onlycrabs.ai).
  • VITE_SITE_MODE: Optional override (skills or souls) for SSR builds.
  • CONVEX_SITE_URL: same as VITE_CONVEX_SITE_URL (auth + cookies).
  • SITE_URL: App URL (local: http://localhost:3000).
  • AUTH_GITHUB_ID / AUTH_GITHUB_SECRET: GitHub OAuth App.
  • JWT_PRIVATE_KEY / JWKS: Convex Auth keys.
  • OPENAI_API_KEY: embeddings for search + indexing.

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.

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