← 返回 Skills 市场
bryant24hao

skill-publisher

作者 bryant24hao · GitHub ↗ · v1.0.0 · MIT-0
macoslinux ⚠ suspicious
298
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install agent-skill-publisher
功能描述
End-to-end workflow for publishing agent skills to GitHub, ClawdHub, and skills.sh. Handles repo creation, topic tagging, ClawdHub publish, skills.sh index r...
使用说明 (SKILL.md)

Skill Publisher

End-to-end publishing workflow for agent skills. Covers GitHub, ClawdHub, and skills.sh — from pre-flight checks to installation verification.

Language

Respond in the same language the user used to invoke this skill. Fall back to English if no language signal is found.

Prerequisites

command -v gh >/dev/null || echo "CRITICAL: gh (GitHub CLI) not found — install with: brew install gh"
command -v git >/dev/null || echo "CRITICAL: git not found"

Optional (for ClawdHub publishing):

npx clawhub --help >/dev/null 2>&1 || echo "INFO: clawhub CLI not installed — needed for ClawdHub publishing"

Workflow Overview

The full publishing pipeline has 6 phases:

1. Pre-flight Check    → Validate skill structure and content
2. GitHub Publish      → Create repo, push, add topics
3. ClawdHub Publish    → Publish to ClawdHub registry
4. skills.sh Submit    → Submit index request via GitHub issue
5. Install Verify      → Test all installation methods
6. Post-publish        → Summary with all links and install commands

Run phases sequentially. If the user only wants a specific phase (e.g., "just submit to skills.sh"), skip to that phase.

Phase 1: Pre-flight Check

Validate the skill directory before publishing. Check ALL of the following:

1.1 Required Files

SKILL_DIR="\x3Cpath-to-skill>"  # Ask user or infer from context

# Required
[ -f "$SKILL_DIR/SKILL.md" ] || echo "FAIL: SKILL.md missing"
[ -f "$SKILL_DIR/LICENSE" ]  || echo "FAIL: LICENSE missing"
[ -f "$SKILL_DIR/README.md" ] || echo "FAIL: README.md missing"

1.2 SKILL.md Frontmatter

Read SKILL.md and verify YAML frontmatter contains:

  • name — required, should be kebab-case
  • description — required, should be descriptive (used by search engines and skill discovery)
  • version — required, valid semver

Optional but recommended:

  • metadata.openclaw.emoji
  • metadata.openclaw.homepage
  • metadata.openclaw.os
  • metadata.openclaw.requires.bins (list of required CLI tools)

1.3 README Quality

Check README.md for:

  1. Badges — at least License badge. Platform badge recommended.
  2. Description — clear one-liner explaining what the skill does.
  3. Install section — should have placeholder install commands (will be updated after publishing).
  4. No broken links — scan for URLs pointing to non-existent repos or placeholder orgs.
  5. No hardcoded user paths — scan for /Users/xxx/ or /home/xxx/ patterns.
  6. Secret redaction — no API keys, tokens, or passwords in plain text.

1.4 Bilingual README (Optional)

If the skill targets both Chinese and English users, check for:

  • README.zh-CN.md exists
  • Both READMEs have language switcher links at the top
  • Both have consistent content (same sections, same install commands)

1.5 Report

Present findings:

# Pre-flight Report

## Required Files
- [x] SKILL.md
- [x] LICENSE (MIT)
- [x] README.md
- [ ] README.zh-CN.md (optional, not found)

## SKILL.md Frontmatter
- name: my-skill
- version: 1.0.0
- description: OK (127 chars)

## Issues Found
- WARNING: README contains placeholder org "nicepkg" — update before publishing
- INFO: No .gitignore found (optional but recommended)

## Ready to publish? YES / NO (with blockers listed)

Phase 2: GitHub Publish

2.1 Initialize Git Repo

cd "$SKILL_DIR"
git init
git add -A
git status  # Review staged files

Before committing, scan staged files for:

  • Secrets (API keys, tokens, passwords)
  • User-specific absolute paths (/Users/xxx/)
  • Large binary files (> 1MB)
git commit -m "Initial release: \x3Cskill-name> v\x3Cversion>"

2.2 Determine Repo Name

Ask the user for their preferred GitHub repo name. Default: same as the skill's name field in SKILL.md frontmatter.

Important: Check if the name is already taken on ClawdHub before creating the GitHub repo, so they can be consistent:

npx clawhub inspect \x3Cproposed-name> 2>&1

If taken on ClawdHub, suggest alternatives and let the user choose a name that works on both platforms.

2.3 Create GitHub Repo

gh repo create \x3Cowner>/\x3Crepo-name> \
  --public \
  --description "\x3Cskill description from SKILL.md>" \
  --source . \
  --push

2.4 Add GitHub Topics

Add discoverable topics for skills.sh indexing and general discoverability:

gh repo edit \x3Cowner>/\x3Crepo-name> --add-topic agent-skill,claude-code-skill

Additional topic suggestions based on skill content:

  • Category topics: productivity, devtools, security, health-check, etc.
  • Platform topics: macos, linux, openclaw
  • Technology topics: eventkit, calendar, etc.

2.5 Update References

After repo creation, update all files that reference the repo:

  • README.md — badge links, install commands, git clone URL
  • README.zh-CN.md — same
  • SKILL.mdmetadata.openclaw.homepage
  • docs/ — any user story or doc files with install commands
  • LICENSE — copyright holder
# Verify no stale references remain
grep -r "placeholder-org\|nicepkg\|example-user" "$SKILL_DIR" --include="*.md"

Commit and push the updates.

Phase 3: ClawdHub Publish

3.1 Login

npx clawhub whoami 2>&1 || npx clawhub login

3.2 Check Slug Availability

npx clawhub inspect \x3Cslug> 2>&1

If slug is taken, suggest alternatives based on the skill name.

3.3 Publish

npx clawhub publish "$SKILL_DIR" \
  --slug \x3Cslug> \
  --name "\x3Cdisplay-name>" \
  --version \x3Cversion> \
  --changelog "\x3Cchangelog text>"

Known issue (as of clawhub CLI v0.7.0): The server requires acceptLicenseTerms: true in the publish payload, but the CLI doesn't include it. If you get:

Error: Publish payload: acceptLicenseTerms: invalid value

Fix by patching the local CLI:

# Find the publish.js file
PUBLISH_JS="$(find ~/.npm/_npx -name 'publish.js' -path '*/clawhub/dist/cli/commands/*' 2>/dev/null | head -1)"

# Add acceptLicenseTerms to the payload
# In the JSON.stringify block, add: acceptLicenseTerms: true,

Then retry the publish command.

3.4 Verify

npx clawhub inspect \x3Cslug>

Phase 4: skills.sh Index Request

skills.sh does NOT auto-index skills. You must submit a request via GitHub issue.

4.1 Submit Index Request

gh issue create --repo vercel-labs/skills \
  --title "Request to index skill: \x3Cowner>/\x3Crepo>" \
  --body "$(cat \x3C\x3C'ISSUE_EOF'
## Skill Information

- **Repository:** https://github.com/\x3Cowner>/\x3Crepo>
- **Skill name:** \x3Cskill-name>
- **Install:** \`npx skills add \x3Cowner>/\x3Crepo>\`
- **License:** MIT

## Description

\x3C2-3 sentence description of what the skill does and its key features>
ISSUE_EOF
)"

4.2 Note to User

Explain that:

  • The index request is reviewed by the vercel-labs/skills maintainers
  • It may take days to be processed
  • The npx skills add \x3Cowner>/\x3Crepo> install command works immediately (it clones from GitHub directly)
  • Only the npx skills search / npx skills find discovery requires indexing

Phase 5: Installation Verification

Test all three installation methods sequentially. Back up any existing installation first.

5.1 skills.sh

npx skills add \x3Cowner>/\x3Crepo> -g -y
# Verify: check installation path and file completeness
ls ~/.agents/skills/\x3Cskill-name>/ || ls ~/.claude/skills/\x3Cskill-name>/
# Cleanup
npx skills remove \x3Cskill-name> -g -y

5.2 ClawdHub

npx clawhub install \x3Cslug>
# Verify
ls ~/clawd/skills/\x3Cslug>/
# Cleanup
npx clawhub uninstall \x3Cslug> --yes

5.3 Manual Git Clone

git clone https://github.com/\x3Cowner>/\x3Crepo>.git /tmp/test-skill-install
# Verify
ls /tmp/test-skill-install/
# Cleanup
rm -rf /tmp/test-skill-install

5.4 Report

# Installation Verification

| Method | Command | Result |
|--------|---------|--------|
| skills.sh | npx skills add \x3Cowner>/\x3Crepo> -g -y | OK / FAIL |
| ClawdHub | clawhub install \x3Cslug> | OK / FAIL |
| Manual | git clone ... | OK / FAIL |

Phase 6: Post-publish Summary

Present a final summary with all links and commands:

# Published: \x3Cskill-name> v\x3Cversion>

## Links
- GitHub: https://github.com/\x3Cowner>/\x3Crepo>
- ClawdHub: https://clawhub.ai/\x3Cowner>/\x3Cslug> (if published)
- skills.sh: pending indexing (issue #NNN)

## Install Commands
# skills.sh (recommended)
npx skills add \x3Cowner>/\x3Crepo> -g -y

# ClawdHub
clawhub install \x3Cslug>

# Manual
git clone https://github.com/\x3Cowner>/\x3Crepo>.git ~/.claude/skills/\x3Cskill-name>

## Next Steps
- [ ] Wait for skills.sh indexing (issue #NNN)
- [ ] Share the GitHub link
- [ ] Consider creating a GitHub Release with tag v\x3Cversion>

Important Notes

  • Slug consistency: Try to use the same name on GitHub and ClawdHub. If ClawdHub slug is taken, rename the GitHub repo to match the available ClawdHub slug for consistency.
  • README install commands: Always update install commands in all README files after determining the final repo name and ClawdHub slug.
  • Bilingual docs: If the skill has docs (e.g., user stories), create bilingual versions with language switcher links. English docs should use internationally recognizable examples (Telegram, not Feishu).
  • Pre-commit privacy check: Before every git push, scan for real IP addresses, API keys, WiFi credentials, user-specific paths, and other PII.
  • ClawdHub CLI bug: The acceptLicenseTerms patch is needed as of CLI v0.7.0. Check if newer versions fix this before patching.
安全使用建议
This skill is coherent for publishing agent skills, but before you run it: 1) ensure you understand it will run git/gh and npx commands that can modify your local repo and create GitHub repos/issues under your account (make sure you're authenticated with the correct GitHub account); 2) be cautious with npx usage — npx runs code fetched from the npm registry, so confirm the clawhub/skills packages are trustworthy or install them locally first; 3) review the pre-flight report the skill generates (it scans for secrets and hardcoded paths) and manually verify there are no embedded credentials before committing/pushing; 4) note the minor README/metadata mismatch about Windows support (SKILL.md restricts to macOS/Linux); and 5) if you need explicit declarations of required credentials (GITHUB_TOKEN, CLAWDHUB auth), ask the skill author to document them in SKILL.md or README before automating publish operations.
功能分析
Type: OpenClaw Skill Name: agent-skill-publisher Version: 1.0.0 The skill automates the publishing of agent skills to GitHub and ClawdHub but is classified as suspicious due to instructions in SKILL.md that direct the AI agent to locate and programmatically patch executable JavaScript code (publish.js) within the user's local npm cache (~/.npm/_npx). While this is presented as a workaround for a known bug in the clawhub CLI, modifying local package files is a high-risk behavior. The skill otherwise includes security-positive features such as mandatory secret scanning and PII checks in Phase 1.3 and 2.1 before committing code to GitHub.
能力评估
Purpose & Capability
The name and description claim an end-to-end publishing workflow and the instructions only require git, GitHub CLI (gh), and optionally the ClawdHub CLI — all of which are directly relevant. README mentions Windows/WSL in badges while SKILL.md metadata limits OS to macos/linux (minor documentation mismatch).
Instruction Scope
SKILL.md explicitly instructs the agent to read SKILL.md, README.md, LICENSE, scan staged git files for secrets/paths, create and edit a GitHub repo, add topics, and call npx clawhub and gh commands. These actions are within the scope of publishing, but they include operations that modify the user's repo and create remote resources (repo creation, issue submission). The instructions also rely on networked CLIs and will use authentication already present in gh/npx sessions.
Install Mechanism
There is no install spec and no code files — this is instruction-only, so nothing is written to disk by an installer. However the README and SKILL.md recommend using npx for tool invocation and show an npx-based quick install command (npx skills add ...), which will fetch and run remote npm packages when executed.
Credentials
The skill declares no required env vars and does not request unrelated credentials. In practice it expects the user/agent to be authenticated to GitHub (gh) and to ClawdHub when publishing; those credentials are not listed as required environment variables but are necessary for the workflow. No other unrelated secrets are requested.
Persistence & Privilege
always:false and default agent invocation settings are used. The skill does not request permanent platform presence or attempt to modify other skills or system-wide agent settings.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install agent-skill-publisher
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /agent-skill-publisher 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release: end-to-end publishing workflow for agent skills across GitHub, ClawdHub, and skills.sh.
元数据
Slug agent-skill-publisher
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

skill-publisher 是什么?

End-to-end workflow for publishing agent skills to GitHub, ClawdHub, and skills.sh. Handles repo creation, topic tagging, ClawdHub publish, skills.sh index r... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 298 次。

如何安装 skill-publisher?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install agent-skill-publisher」即可一键安装,无需额外配置。

skill-publisher 是免费的吗?

是的,skill-publisher 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

skill-publisher 支持哪些平台?

skill-publisher 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(macos, linux)。

谁开发了 skill-publisher?

由 bryant24hao(@bryant24hao)开发并维护,当前版本 v1.0.0。

💬 留言讨论