Skill Release Pipeline
by @zerozlw
Automate packaging, pushing to GitHub, and publishing OpenClaw skills to ClawHub, managing versions and sync across platforms.
clawhub install skill-release-pipelineπ About This Skill
name: skill-publisher description: Package, publish, and distribute OpenClaw skills to GitHub and ClawHub. Activate when user wants to: (1) package a skill folder for distribution, (2) push a skill to a GitHub repo, (3) publish a skill to ClawHub registry, (4) sync a skill across GitHub and ClawHub. NOT for: creating skill content, writing SKILL.md, or installing skills.
Skill Publisher
Automate the full lifecycle of publishing OpenClaw skills: package β GitHub β ClawHub.
Prerequisites
gh CLI authenticated (gh auth status)npx clawhub CLI authenticated (npx clawhub whoami)SKILL.mdQuick Start
Full Pipeline (package + GitHub + ClawHub)
# From the skill directory
scripts/publish.sh /path/to/skill-folder --repo owner/repo-name --version 1.0.0
Individual Steps
# 1. Validate & package only
scripts/validate.sh /path/to/skill-folder2. Push to GitHub
scripts/push-github.sh /path/to/skill-folder --repo owner/repo-name3. Publish to ClawHub
npx clawhub publish /path/to/skill-folder --version 1.0.0 --slug skill-name
Workflow
Step 1: Prepare the Skill Folder
Ensure the skill folder contains:
skill-name/
βββ SKILL.md (required β YAML frontmatter + markdown body)
βββ LICENSE (recommended β MIT)
βββ examples/ (optional β usage examples)
βββ scripts/ (optional β helper scripts)
βββ references/ (optional β reference docs)
βββ assets/ (optional β templates, images, fonts)
SKILL.md frontmatter must include:
---
name: skill-name
description: Clear description of what the skill does and when to activate it
Step 2: Push to GitHub
cd /path/to/skill-folderInit if needed
git init
git add -A
git commit -m "feat: initial release of skill-name"Create repo and push
gh repo create owner/repo-name --public --source=. --push
If the repo already exists:
git remote add origin https://github.com/owner/repo-name.git 2>/dev/null || true
git push -u origin main
Step 3: Publish to ClawHub
# Login if needed (opens browser)
npx clawhub loginPublish with version
npx clawhub publish /path/to/skill-folder \
--version 1.0.0 \
--slug skill-name \
--name "Display Name" \
--tags "tag1,tag2"Verify
npx clawhub inspect skill-name
Note: ClawHub runs a security scan after publishing. The skill becomes searchable once the scan passes (usually within a few minutes).
Common Tasks
Update an Existing Skill
# 1. Make changes to the skill folder2. Push to GitHub
cd /path/to/skill-folder
git add -A && git commit -m "fix: description of changes"
git push3. Publish new version to ClawHub
npx clawhub publish /path/to/skill-folder --version 1.1.0
Fork an Existing Skill
npx clawhub publish /path/to/skill-folder \
--version 1.0.0 \
--slug my-fork-name \
--fork-of original-skill@1.0.0
Check Publish Status
npx clawhub inspect skill-name
npx clawhub search skill-name
Troubleshooting
| Error | Fix |
|-------|-----|
| --version must be valid semver | Add --version x.y.z flag |
| Skill is hidden while security scan is pending | Wait a few minutes, then retry inspect |
| Not logged in | Run npx clawhub login |
| gh: not authenticated | Run gh auth login |
| fatal: remote origin already exists | Safe to ignore, or use git remote set-url |
Naming Conventions
figma-plugin-writer)openclaw-figma-plugin-writer)1.0.0, 1.2.3)π‘ Examples
Full Pipeline (package + GitHub + ClawHub)
# From the skill directory
scripts/publish.sh /path/to/skill-folder --repo owner/repo-name --version 1.0.0
Individual Steps
# 1. Validate & package only
scripts/validate.sh /path/to/skill-folder2. Push to GitHub
scripts/push-github.sh /path/to/skill-folder --repo owner/repo-name3. Publish to ClawHub
npx clawhub publish /path/to/skill-folder --version 1.0.0 --slug skill-name
βοΈ Configuration
gh CLI authenticated (gh auth status)npx clawhub CLI authenticated (npx clawhub whoami)SKILL.mdπ Tips & Best Practices
| Error | Fix |
|-------|-----|
| --version must be valid semver | Add --version x.y.z flag |
| Skill is hidden while security scan is pending | Wait a few minutes, then retry inspect |
| Not logged in | Run npx clawhub login |
| gh: not authenticated | Run gh auth login |
| fatal: remote origin already exists | Safe to ignore, or use git remote set-url |