Automate 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 | GitHub repo to push to | (required or set SKILL_GH_REPO) |
--branch | 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 | Changelog message for ClawHub publish | "Automated publish" |
--version | 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_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// feat(skill): publish v 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
共 1 个版本