Skill Directory for moltbot https://molthub.com
  • TypeScript 87%
  • Python 4.3%
  • CSS 4.2%
  • Shell 2.5%
  • JavaScript 1.9%
Find a file
Patrick Erichsen cb9c6d8381
feat: add external skills.sh detail and install flow (#3231)
* feat: integrate external skills.sh listings

* test: record permanent Test external flow

* fix: distinguish GitHub alias source fingerprints

* fix: match controlled skills.sh source URL

* test: disambiguate external detail heading

* fix: use folder hash for controlled skills.sh fixture

* test: prepare controlled external fixture for proof

* fix: preserve OpenClaw external trust state
2026-07-25 05:17:04 -05:00
.agents/skills chore(deps): migrate to Carapace v0.2.0 2026-07-24 15:27:21 -05:00
.codex/environments Auto-start services for Codex worktrees (#2147) 2026-05-11 12:56:04 -07:00
.config chore: use worktreeinclude for local state setup (#2709) 2026-06-17 12:54:47 -07:00
.github feat: add external skills.sh detail and install flow (#3231) 2026-07-25 05:17:04 -05:00
.proof fix(web): recall publishers outside browse window in search (#2790) 2026-06-22 21:51:40 -07:00
convex feat: add external skills.sh detail and install flow (#3231) 2026-07-25 05:17:04 -05:00
design-audits/latest feat: adopt shared design system across ClawHub UI (#3026) 2026-07-09 11:05:59 -07:00
docs Add gated Claw hosted feed and lifecycle proof (#3092) 2026-07-24 19:29:12 -05:00
e2e feat: add external skills.sh detail and install flow (#3231) 2026-07-25 05:17:04 -05:00
emails feat: stage publishes behind prepublication checks (#2979) 2026-07-06 15:54:04 -05:00
fixtures Add gated Claw hosted feed and lifecycle proof (#3092) 2026-07-24 19:29:12 -05:00
packages feat: add external skills.sh detail and install flow (#3231) 2026-07-25 05:17:04 -05:00
proof feat: add dark skills.sh catalog control plane (#3211) 2026-07-21 20:50:07 -07:00
public chore: update social preview headline 2026-07-23 11:16:20 -07:00
rfcs docs: add RFC community review process (#2092) 2026-05-07 14:57:55 -07:00
scripts feat: add canonical mixed skill search (#3264) 2026-07-25 02:06:41 -05:00
server feat: add external skills.sh detail and install flow (#3231) 2026-07-25 05:17:04 -05:00
specs feat: add external skills.sh detail and install flow (#3231) 2026-07-25 05:17:04 -05:00
src feat: add external skills.sh detail and install flow (#3231) 2026-07-25 05:17:04 -05:00
tests Cap skill stat drain action batches (#2671) 2026-06-15 18:56:06 -07:00
.crabbox.yaml test: stabilize local-auth e2e flake paths 2026-06-23 16:26:54 -07:00
.editorconfig chore(repo): normalize workflow hygiene 2026-04-29 22:41:29 -07:00
.env.local.example fix: remove reply-to from transactional emails (#2725) 2026-06-17 21:07:25 -07:00
.gitattributes chore: vendor Sentry fix issues skill (#3020) 2026-07-08 19:19:19 -07:00
.gitignore chore(deps): update TypeScript and dependencies 2026-07-09 15:37:03 +01:00
.nvmrc Adjust mobile nav trigger spacing and add Node version pin 2026-04-01 09:03:13 -05:00
.oxfmtrc.jsonc feat: adopt shared design system across ClawHub UI (#3026) 2026-07-09 11:05:59 -07:00
.oxlintrc.json fix: keep oxlint underscore rule disabled 2026-05-04 08:08:59 +01:00
.worktreeinclude chore: use worktreeinclude for local state setup (#2709) 2026-06-17 12:54:47 -07:00
AGENTS.md feat: add disposable Vercel and Convex PR previews (#3017) 2026-07-08 20:54:09 -07:00
bun.lock feat(claws): add gated publication and profile validation (#3090) 2026-07-24 18:14:12 -05:00
CHANGELOG.md docs: note Discord webhook title limit 2026-07-20 19:58:37 -07:00
CLAUDE.md docs: symlink Claude instructions to AGENTS (#3022) 2026-07-08 19:46:56 -07: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 chore: remove registry artifact backup jobs 2026-06-19 13:35:44 -07:00
convex.json feat: ingest and render skill presentation metadata (#3261) 2026-07-24 18:36:28 -05:00
DEPRECATIONS.md feat: add v1 public api 2026-01-07 18:28:51 +01:00
DESIGN.md chore(ci): enforce formatting 2026-04-30 23:39:28 -07:00
knip.config.ts fix: harden script CSP 2026-06-24 21:41:54 +10:00
LICENSE Initial commit 2026-01-03 14:49:41 +01:00
package.json feat: add canonical mixed skill search (#3264) 2026-07-25 02:06:41 -05:00
playwright.config.test.ts test: stabilize local-auth e2e flake paths 2026-06-23 16:26:54 -07:00
playwright.config.ts test: stabilize local-auth e2e flake paths 2026-06-23 16:26:54 -07:00
README.md Revert "docs: document security dataset export workflow" 2026-06-22 22:33:15 -07:00
SECURITY.md docs: clarify ClawHub vulnerability disclosure policy (#2567) 2026-06-09 17:38:56 +10:00
skills-lock.json chore(deps): migrate to Carapace v0.2.0 2026-07-24 15:27:21 -05:00
tsconfig.json feat: adopt shadcn-managed ui primitives 2026-04-27 20:48:15 -07:00
tsconfig.oxlint.json chore: rename ClawHub admin package (#2599) 2026-06-11 16:49:17 -07:00
vercel.json feat: add disposable Vercel and Convex PR previews (#3017) 2026-07-08 20:54:09 -07:00
VISION.md docs: define ClawHub product vision (#3125) 2026-07-16 17:45:28 -07:00
vite.config.ts feat: add disposable Vercel and Convex PR previews (#3017) 2026-07-08 20:54:09 -07:00
vitest.config.ts fix: restore prepublication ClawScan authentication (#3142) 2026-07-16 23:38:09 -07: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 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 now exposes a native OpenClaw package catalog for code plugins and bundle plugins.

ClawHub · 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.
  • Search via embeddings (vector index) instead of brittle keywords.
  • Star + comment; admins/mods can curate and approve skills.
  • Pin local skill installs so updates and force reinstalls cannot overwrite frozen copies.
  • Browse OpenClaw packages with family/trust/capability metadata.
  • Publish native code plugins and bundle plugins through /packages APIs and CLI flows.

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
  • Remote/headless auth: clawhub login --device
  • Discover: clawhub search ..., clawhub explore
  • Browse unified catalog (skills + plugins): clawhub package explore, clawhub package inspect <name>
  • Manage local installs: clawhub install @openclaw/demo, clawhub pin <skill>, clawhub unpin <skill>, clawhub uninstall <skill>, clawhub list, clawhub update --all
  • Inspect without installing: clawhub inspect @openclaw/demo
  • Publish skills: clawhub skill publish <path>
  • 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 <skill> <new-name>, clawhub skill merge <source> <target>

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

Removal permissions

  • clawhub uninstall <skill> only removes a local install on your machine.
  • Uploaded registry skills use soft-delete/restore (clawhub delete <skill> / clawhub undelete <skill> or API equivalents).
  • Soft-delete/restore is allowed for the skill or package owner, publisher owner/admin, moderators, and admins.
  • Packages use clawhub package delete <name> / clawhub package undelete <name>.
  • 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 install 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/ — publishable ClawHub public/operator docs for users, publishers, API clients, and deploy operators.
  • specs/ — product specs, plans, regression notes, and design history.
  • specs/spec.md — product + implementation spec (good first read for maintainers).

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

  • VITE_CONVEX_URL: Convex deployment URL (https://<deployment>.convex.cloud).
  • VITE_CONVEX_SITE_URL: Convex site URL (https://<deployment>.convex.site).
  • 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; 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