[BREAKGLASS] Skill Directory for OpenClaw
https://clawhub.ai
| .github/workflows | ||
| convex | ||
| docs | ||
| e2e | ||
| packages | ||
| public | ||
| scripts | ||
| src | ||
| .env.local.example | ||
| .gitignore | ||
| .oxlintrc.json | ||
| AGENTS.md | ||
| biome.json | ||
| bun.lock | ||
| CHANGELOG.md | ||
| clawdhub | ||
| convex.json | ||
| DEPRECATIONS.md | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsconfig.oxlint.json | ||
| vercel.json | ||
| vite.config.ts | ||
| vitest.config.ts | ||
| vitest.e2e.config.ts | ||
| vitest.setup.ts | ||
ClawdHub
ClawdHub is the public skill registry for Clawdbot: 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.
Live: https://clawdhub.com
What you can do
- Browse skills + render their
SKILL.md. - Publish new versions with changelogs + tags (including
latest). - Search via embeddings (vector index) instead of brittle keywords.
- Star + comment; admins/mods can curate and approve.
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(clawdhub-schema).
Telemetry
ClawdHub tracks minimal install telemetry (to compute install counts) when you run clawdhub sync while logged in.
Disable via:
export CLAWDHUB_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/spec.md— product + implementation spec (good first read).
Local dev
Prereqs: Bun + Convex CLI.
bun install
cp .env.local.example .env.local
# terminal A: web app
bun run dev
# terminal B: Convex dev deployment
bunx convex dev
Auth (GitHub OAuth) setup
Create a GitHub OAuth App, set AUTH_GITHUB_ID / AUTH_GITHUB_SECRET, then:
bunx auth --deployment-name <deployment> --web-server-url http://localhost:3000
This writes JWT_PRIVATE_KEY + JWKS to the deployment and prints values for your local .env.local.
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 asVITE_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.
Scripts
bun run dev
bun run build
bun run test
bun run coverage
bun run lint