$ show openclaw/clawhub
ClawHub is a full-stack registry marketplace for AI agent skills and OpenClaw plugins. It provides a web application (React + TanStack Router + Convex backend), a CLI tool (clawhub) for publishing and managing skills, an admin CLI for moderation, and a public HTTP API. The system handles skill/plugin publishing, versioning, search (with OpenAI embeddings), trending leaderboards, security scanning (VirusTotal, ClawScan, static analysis), moderation, and catalog feeds. It also mirrors an external skills.sh catalog. The architecture is a monorepo with shared schema packages, extensive test coverage (unit, e2e, Convex), and CI/CD via GitHub Actions. While primarily an application, it includes data/research elements like security dataset export and ranking metrics pipelines.
The LLM identified 5 files worth highlighting for reuse:
A self-contained schema package (clawhub-schema) using ArkType for runtime validation. Defines shared types for API routes, licenses, packages, catalog feeds, and more. Used by both the CLI and web app. Demonstrates clean separation of concerns and could be extracted as a standalone npm package for any project needing validated registry schemas.
Implements mirroring logic for an external skills.sh catalog. Contains reusable builders for mirror identity (normalizing owner/repo/slug), canonical GitHub repo resolution, install resolution with commit hash and content hash validation, and upstream check status normalization. The pattern of building structured responses with provenance and trust state is applicable to any external catalog integration.
Implements a trust-based search ranking algorithm with verification tiers, adoption buckets, and demotion of untrusted exact matches. Uses weighted scoring from multiple signals (official status, downloads, freshness). The pattern of combining multiple trust and popularity signals into a composite score is reusable for any search or recommendation system.
A rehype plugin that rewrites image URLs in rendered Markdown to route through a Vercel image optimizer. Resolves relative README asset URLs to absolute GitHub raw URLs. Demonstrates a clean, testable pattern for post-processing HTML content in a server-side rendering context. Could be extracted as a standalone rehype plugin for any project needing image proxying.
Builds deterministic ZIP archives for skill packages, ensuring reproducible output by normalizing file order, timestamps, and permissions. Uses fflate for in-memory ZIP creation. The pattern of creating reproducible archives is valuable for any system that needs content-addressable storage or integrity verification.