Install
openclaw skills install skill-publish-skillPublish AI agent skills to GitHub and multiple skill registries (skills.sh, clawhub.ai) in one workflow. Use this skill whenever the user wants to publish, upload, or push a skill to GitHub, skills.sh, clawhub.ai, or says things like "publish skill", "推送skill", "发布skill", "上传skill到平台", "publish to marketplace", "多平台发布". Also trigger when the user wants to update an already-published skill across platforms. This skill handles git push, registry publishing, and version management.
openclaw skills install skill-publish-skillPublish an AI agent skill to GitHub and multiple skill registries in one workflow.
The overall flow is: GitHub first, then skills.sh and clawhub.ai, with skillsmp.com auto-syncing from GitHub. Skill name and description on all platforms come from the SKILL.md frontmatter, keeping everything consistent with the GitHub repo.
Before running this skill, check that the required CLI tools are available. If any are missing, guide the user through installation.
git --version.gh --version.gh extension list | grep skill.
gh extension install skills-sh/skill-publishwhich clawhub.
npm i -g clawhubclawhub login (GitHub OAuth)clawhub whoamiIf a tool is missing, ask the user whether to install it or skip that platform.
Follow these steps in order.
references/repo-map.json (relative to this skill's directory). This file maps local project paths to their GitHub URLs.https://github.com/user/repo.gitgit@github.com:user/repo.githttps://github.com/user/repoRun git status to check if the current directory is a Git repository.
If NOT a Git repository:
git initgit add . to stage all filesgit commit -m "Initial commit"git remote add origin <URL>git branch -M mainIf already a Git repository:
origin exists: git remote get-url origin
origin exists, run git remote add origin <URL>Check for uncommitted changes with git status --porcelain.
If there are uncommitted changes:
git diff --cached to see staged changesgit diff to see unstaged changesgit add .type(scope): brief summaryfeat, fix, chore, docs, refactor, style, testgit commit -m "<generated message>"If no uncommitted changes: Proceed to push.
git branch --show-currentgit push -u origin <branch>git remote get-url origin to inspect the current URL.https://, retry up to 3 times.https://github.com/user/repo.git → git@github.com:user/repo.gitgit remote set-url origin <ssh-url>git push -u origin <branch> --forceUpdate references/repo-map.json with the current project path and its GitHub URL so future publishes skip the URL prompt.
skills.sh is a skill registry that auto-discovers skills from GitHub. The gh skill publish extension validates the skill and creates a GitHub release.
gh skill publish extension is installed.
gh extension install skills-sh/skill-publishgh skill publish --slug <skill-name>
--slug should match the name field in SKILL.md frontmatter.gh skill publish is not available, skip and tell the user: "skills.sh will auto-discover your skill from the GitHub repo. For faster indexing, install the extension with gh extension install skills-sh/skill-publish."ClawHub is a skill marketplace with CLI-based publishing. It requires authentication via GitHub OAuth.
clawhub CLI is installed.
npm i -g clawhubclawhub whoami
clawhub logingit describe --tags --always or use "1.0.0" for first publish.clawhub skill publish . --slug <skill-name> --name "<skill-name>" --version <version> --changelog "<commit-message>"
--name and description come from SKILL.md frontmatter to stay consistent.skillsmp.com automatically scrapes GitHub for public repos with SKILL.md files. No manual action is needed. Tell the user: "skillsmp.com will auto-sync from the GitHub repo (may take a few hours)."
Report the final status of all platforms:
Publish complete!
GitHub: <url> (branch: <branch>, commit: <message>)
skills.sh: Published / auto-discoverable
clawhub.ai: Published / skipped
skillsmp.com: Auto-sync from GitHub
If any platform failed, clearly state which ones succeeded and which need manual follow-up.
When the user wants to update an already-published skill, the workflow is the same — GitHub push first, then re-publish to each platform:
gh skill publish to create a new release.clawhub skill publish with an incremented version number. Use git log --oneline <last-tag>..HEAD to generate a changelog from recent commits.After each execution of this Skill:
diary/YYYY-MM-DD.md.SKILL.md.references/repo-map.json — Local path to GitHub URL mappings. Read this first to resolve the remote URL; update it after each successful push.