Install
openclaw skills install skill-quick-publishOne-click skill publishing automation covering duplicate check, Bear notes sync, and GitHub push. Use when publishing a new or updated skill to ClawHub and GitHub, or when the user says "publish skill", "push skill", "release skill", or "一键发布".
openclaw skills install skill-quick-publishAutomate the full skill publishing pipeline: duplicate check → Bear dev-log sync → GitHub push → ClawHub publish.
clawhub CLI installed and authenticated (clawhub whoami)git CLI available with push access to target repogrizzly CLI for Bear notes sync on macOSRun the main orchestrator script:
bash SKILL_DIR/scripts/publish.sh <skill-path> [options]
| Flag | Description | Default |
|---|---|---|
--repo <owner/repo> | GitHub repo to push to | (required or set SKILL_GH_REPO) |
--branch <name> | Target branch | main |
--skip-bear | Skip Bear notes sync | false |
--skip-github | Skip GitHub push | false |
--dry-run | Preview all steps without executing | false |
--changelog <msg> | Changelog message for ClawHub publish | "Automated publish" |
--version <semver> | Version for ClawHub publish | Auto from SKILL.md or 0.1.0 |
SKILL_GH_REPO — Default GitHub repo (e.g., user/skills)SKILL_BEAR_TAG — Bear note tag for dev logs (default: skill-dev)GRIZZLY_TOKEN_FILE — Path to Bear API token (default: ~/.config/grizzly/token)Validates skill name uniqueness against:
~/.openclaw/skills/)clawhub search)Exits with error if a conflicting skill exists, unless --force is passed.
Creates or appends a dev-log note in Bear:
[Skill Dev] <skill-name>SKILL_BEAR_TAGOn non-macOS or when grizzly is unavailable, prints a structured log line to stdout instead (so the pipeline continues).
Commits and pushes the skill directory to the configured GitHub repo:
skills/<skill-name>/feat(skill): publish <skill-name> v<version>Runs clawhub publish with the skill path, slug, name, version, and changelog.
✅ on success, ❌ on failure--continue-on-error is set# Full publish
bash scripts/publish.sh ./my-skill --repo user/skills --version 1.0.0
# Dry run
bash scripts/publish.sh ./my-skill --repo user/skills --dry-run
# Skip Bear and GitHub, only ClawHub
bash scripts/publish.sh ./my-skill --repo user/skills --skip-bear --skip-github
# Using env var for repo
SKILL_GH_REPO=user/skills bash scripts/publish.sh ./my-skill