mirror of
https://github.com/openclaw/clawhub.git
synced 2026-08-14 08:52:21 +00:00
* docs: document skill categories and topics Add a Catalog metadata section to docs/publishing.md covering --categories and --topics, the 14 valid category slugs, the limits ClawHub enforces, the reserved topic names, the `other` default, and how stored values change on a later publish. Cross-reference it from the skill publish and sync entries in docs/cli.md. Values read from packages/schema/src/catalogMetadata.ts, convex/lib/skillPublish.ts, and packages/clawhub/src/cli.ts. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * docs: cover the CI and plugin paths for catalog metadata Three gaps in the first pass, all the same shape as the one this PR set out to fix -- a way to publish with no way to set catalog metadata: The reusable skill-publish.yml workflow has no categories or topics input. It builds the command with --owner and --tags only, so a catalog repo publishing through CI lands every skill in `other`, exactly like sync. The new section sat directly under the workflow snippet and said "set both when you publish," which read as though the block above it could. Documented in both files. `package publish` takes the same two flag names against PLUGIN_CATEGORY_DEFINITIONS -- a different 12-slug list documented nowhere -- so a reader who followed the new link would try `development` and have the publish rejected. The cli.md entry now names the plugin slugs and says the topic rules are shared, which they are: convex/packages.ts:8585 resolves through resolvePluginCategories but reuses normalizeCatalogTopics. Moved the metadata section above the catalog-repo prose so the flags sit with the command they belong to, and gave the CI content its own heading rather than leaving it to trail the section. No wording in the moved block changed. Also two enforced rules the first pass omitted: repeats are dropped rather than rejected and are matched after normalization (so `git,Git` is one topic, and both limits count what survives), and topics cannot contain invisible formatting characters. Qualified the 3-category limit, which is applied after `other` is dropped, so `other,development, operations` stores two rather than failing. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * docs: scope plugin-category validation to code and bundle plugins Review caught that the package-publish bullet claimed every publish validates --categories against the 12 plugin slugs. The claw family does not: convex/packages.ts branches on family === "claw" and stores the declared slugs without resolvePluginCategories, while normalizeCatalogTopics still runs for every family. The bullet now limits the slug check to code and bundle plugins, links docs/claws.md for the exception, and keeps the shared-topic-rules claim, which held. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
summary, read_when
| summary | read_when | ||
|---|---|---|---|
| Public ClawHub docs index and reading order. |
|
Docs
docs/ is the publishable source for user-facing ClawHub pages that can be
mirrored into the ClawHub tab on docs.openclaw.ai.
Keep product, CLI, publisher, API, policy, security, and troubleshooting docs here. These pages should explain how people use ClawHub: discover, install, publish, inspect, report, moderate, and integrate with the registry.
Use specs/ for repository setup, production deploy runbooks, implementation
plans, design rationale, regression notes, maintainer validation records, and
internal subsystem intent. If a page tells someone how to run or deploy the
ClawHub project itself, it belongs in specs/, not in the public OpenClaw docs
tab.
Reading order:
docs/clawhub.md: public overview for discovery, install, publish, and trust.docs/quickstart.md: product quickstart for users and publishers.docs/how-it-works.md: listings, versions, installs, publishing, scans, and API access.docs/publishing.md: owner-scoped skill/plugin publishing flow.docs/cli.md: ClawHub CLI reference.docs/skill-format.md: skill bundle metadata and package shape.docs/claws.md: experimental Claw package authoring and publication.docs/auth.md: GitHub OAuth, API tokens, and CLI login.docs/telemetry.md: install telemetry and how to opt out.docs/namespace-claims.md: org, brand, owner-handle, package-scope, skill-slug, and namespace ownership disputes.docs/troubleshooting.md: user-facing CLI, install, publish, update, and API fixes.
Policy, API, and trust docs:
docs/acceptable-usage.md: marketplace policy and enforcement boundaries.docs/api.md: public REST API overview.docs/http-api.md: detailed HTTP API reference.docs/security.md: reporting ClawHub security issues and vulnerability disclosure policy.docs/security-audits.md: user-facing security audit status, risk levels, findings, and interpretation.docs/moderation.md: reports, moderation holds, hidden listings, bans, and account standing.docs/namespace-claims.md: org, brand, owner-handle, package-scope, skill-slug, and namespace ownership claims.docs/content-rights.md: copyright and other content rights requests involving ClawHub listings.
Maintainer records:
specs/README.md: index for specs, plans, deployment runbooks, webhook notes, regression notes, and design records.
Publish flow:
- Changes under
docs/dispatch the OpenClaw docs sync workflow, which mirrors this directory into theClawHubtab ondocs.openclaw.ai. specs/is intentionally not mirrored.