360 Secure SkillHub
360 安全技能中心

ClawHub Publisher

基于 Node 的 ClawHub Publisher CLI:校验技能目录(检查 SKILL.md、YAML frontmatter、name/description、README、钩子文件与引用),生成清理后的发布产物并可选打包为 zip,最后调用 clawhub publish 发布,发布前需登录并确认。

sam-k-migz
sam-k-migz
热度 46.39
最近更新 2026-05-11 17:37:41
分类:开发依赖:代码执行 / 读写文件应用场景:工作流 / 自动化脚本 / DevOps

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add clawhub-publisher-cli
Metadata
name
clawhub-publisher
description
Use the bundled ClawHub Publisher CLI to validate, prepare, zip, and publish OpenClaw skills to ClawHub with clearer validation, cleaner packaging, and safer publish prompts.

ClawHub Publisher

Use this skill when you need to turn a local OpenClaw skill folder into a publish-ready ClawHub package.

This repository also ships the matching CLI implementation used by the skill, and the project is intentionally self-publishable.

What it does

  • validates a skill folder before publish
  • detects common blockers like:
    • missing SKILL.md
    • broken YAML frontmatter
    • missing name / description
    • missing README
    • blank hook files
    • hook references that point to missing files
  • prepares a cleaned publish-ready output bundle
  • optionally exports a zip archive
  • runs the final clawhub publish command with explicit metadata
  • asks for final confirmation before publishing unless you pass --yes

Preferred workflow

From the project root:

npm install
npm run build

Use the built CLI:

node dist/index.js validate "/path/to/skill"
node dist/index.js prepare "/path/to/skill" --zip
node dist/index.js publish "/path/to/skill"

Fast non-interactive publish example

node dist/index.js publish "/path/to/skill" \
  --no-prompt \
  --slug my-skill \
  --name "My Skill" \
  --skill-version 0.1.1 \
  --changelog "Polished validation and publish UX" \
  --tags latest \
  --yes

Notes

  • clawhub CLI login is still required for the final publish step.
  • prepared output is written under .clawhub-publisher/
  • the source skill folder is left untouched