Skill Publisher 技能发布
技能发布 — 将已有 Skill 三平台同步推送到 GitHub + ClawHub + SkillHub。当用户说 技能发布到三平台/发布技能更新/迭代技能发布 时触发。⚠️ 本技能的行为范围(用户须知):① 推送代码到外部平台(GitHub/ClawHub/SkillHub),操作对外可见且可能不可逆 ② 同步到本地 TRAE 安装目录(会覆盖已有版本) ③ 在本地 docs/knowledge/ 追加发布日志。执行前会向用户确认。含安全审查、隐私清洗、版本号查重、仓库结构生成、ClawHub 自动文件排除、SkillHub dry-run 预检。Do NOT use for creating skill content, general coding, or non-skill projects. Skill: Skill Publisher 技能发布 Owner: edwardwason Summary: 技能发布 — 将已有 Skill 三平台同步推送到 GitHub + ClawHub + SkillHub。当用户说 技能发布到三平台/发布技能更新/迭代技能发布 时触发。⚠️ 本技能的行为范围(用户须知):① 推送代码到外部平台(GitHub/ClawHub/SkillHub),操作对外可见且可能不可逆 ② 同步到本地 TRAE 安装目录(会覆盖已有版本) ③ 在本地 docs/knowledge/ 追加发布日志。执行前会向用户确认。含安全审查、隐私清洗、版本号查重、仓库结构生成、ClawHub 自动文件排除、SkillHub dry-run 预检。Do NOT use for creating skill content, general coding, or non-skill projects. Tags: c
Rank
62
Safety
84
Downloads
2.4k
Updated
Oct 9, 2026
Version
5.22.1
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 2.4K downloads reported by the source. Last updated 10/9/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 9, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 9, 2026
- Adoption signal
- 2.4K downloadsadoption · observed Oct 9, 2026
- Latest release
- 5.22.1release · observed Jul 31, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s177q4wcvafq6fzfkhk2g3cwth83y01d:skill-publisher-ai- Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-publisher-ai/snapshot"
Documentation
CLAWHUB
150,512 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: "skill-publisher"
description: "技能发布 — 将已有 Skill 三平台同步推送到 GitHub + ClawHub + SkillHub。当用户说 技能发布到三平台/发布技能更新/迭代技能发布 时触发。⚠️ 本技能的行为范围(用户须知):① 推送代码到外部平台(GitHub/ClawHub/SkillHub),操作对外可见且可能不可逆 ② 同步到本地 TRAE 安装目录(会覆盖已有版本) ③ 在本地 docs/knowledge/ 追加发布日志。执行前会向用户确认。含安全审查、隐私清洗、版本号查重、仓库结构生成、ClawHub 自动文件排除、SkillHub dry-run 预检。Do NOT use for creating skill content, general coding, or non-skill projects."
slug: skill-publisher-ai
displayName: Skill Publisher 技能发布
version: 5.22.1
summary: 三平台同步发布技能到 GitHub + ClawHub + SkillHub,含安全审查、版本号查重、TRACE 预检、dry-run。执行前向用户确认。
license: MIT
allowed-tools: "Bash(git:*), Bash(clawhub:*), Bash(skillhub:*), Bash(gh:*), Bash(python:*), Bash(cat:*), Bash(ls:*), Bash(mkdir:*), Bash(cp:*), Bash(mv:*), Bash(rm:*), Bash(Compress-Archive:*), Read, Write, Edit, Glob, Grep"
metadata:
openclaw:
requires:
env:
- GITHUB_TOKEN
- CLAWHUB_TOKEN
- SKILLHUB_TOKEN
bins:
- git
- python
anyBins:
- clawhub
- skillhub
primaryEnv: GITHUB_TOKEN
envVars:
- name: GITHUB_TOKEN
required: true
description: GitHub PAT,用于推送仓库和创建 Release
- name: CLAWHUB_TOKEN
required: true
description: ClawHub 平台 API token(clh_ 开头),用于 skill publish / scan / inspect
- name: SKILLHUB_TOKEN
required: true
description: SkillHub 平台 API token(skh_ 开头),用于 skillhub publish
- name: FEISHU_APP_ID
required: false
description: 可选,飞书云空间备份使用
- name: FEISHU_APP_SECRET
required: false
description: 可选,飞书云空间备份使用
- name: HTTPS_PROXY
required: false
description: 可选,企业网络/受限网络环境下的 HTTPS 代理
- name: HTTP_PROXY
required: false
description: 可选,HTTP 代理
- name: NO_PROXY
required: false
description: 可选,代理排除列表
emoji: "🚀"
homepage: https://github.com/EdwardWason/skill-publisher
---
# 技能发布
将已有 Skill 三平台同步推送到 GitHub + ClawHub + SkillHub,含安全审查、隐私清洗、版本号查重、标准仓库结构生成、ClawHub 自动文件排除、SkillHub dry-run 预检。
## 何时触发
**仅当用户明确要求将 Skill 发布到外部平台时触发。**单纯的"更新技能"、"迭代技能"(指修改技能内容)不触发本技能,只有明确包含"发布"、"推送"意图时才触发。
**触发词(需带发布/推送意图)**:
- "技能发布到三平台"
- "发布技能更新"
- "迭代技能发布"
- "把 XX 技能推送到 GitHub"
**前置条件(全部满足才触发)**:
1. 用户明确表达"发布到外部平台"的意图
2. 目标是一个已开发完成的 Skill(不是普通代码项目)
3. 用户已确认要执行外部发布操作
**注意**:如果用户说"技能熔炉",应触发 skill-forge(全流程),不是本技能。
## 与技能熔炉的关系
本技能是技能熔炉(skill-forge)的独立触发入口,只执行 Phase 3 发布流程。完整流程(创建→评估→发布)请使用技能熔炉。
**详细文档共享**:本技能读取 skill-forge 的 `references/publishing-guide.md`,内容完全一致。
## 任务
只做 Skill 的发布准备与推送:生成标准仓库结构 → 安全审查 → 隐私清洗 → 版本号查重 → 推送 GitHub → 发布 ClawHub。不做 Skill 内容创建、不做代码开发。
## 输出格式
### 一、仓库结构生成报告
列出所有生成/更新的文件及路径
### 二、安全审查结果
| 审查项 | 状态 | 详情 |
|--------|------|------|
| 凭证泄露 | PASS/FAIL | 扫描结果 |
| 本地路径 | PASS/FAIL | 扫描结果 |
| 危险命令 | PASS/FAIL | 扫描结果 |
| 分发物判定 | PASS/FAIL | 多余文件列表 |
### 三、版本号查重结果
| ClawHub 已发布版本 | 待发布版本 | 状态 |
|-------------------|-----------|------|
| vX.Y.Z ... | vX.Y.Z | 可发布/版本号冲突 |
### 四、发布结果
| 平台 | 地址 | 版本 | 状态 |
|------|----_meta.json
{
"ownerId": "kn75zj7vzdyvap84adxa8heyyd82f5eh",
"slug": "skill-publisher-ai",
"version": "5.22.1",
"publishedAt": 1785477276736
}references/change-detection.md
# Change Detection & Version Bump Reference
Complete procedures for detecting changes between local and remote, and automatically calculating version bumps.
**When to read**: When entering Phase 2B (update & iteration). Read this file in full before executing any version bump.
---
## Change Detection
### Step 1: Detect Local Changes
```bash
# Check if there are uncommitted changes
git status --short
# Check diff between local and remote
git fetch origin main
git log origin/main..HEAD --oneline
# If no remote yet, check diff from last tag
git describe --tags --abbrev=0 2>/dev/null
git log <last-tag>..HEAD --oneline
```
### Step 2: Categorize Changed Files
```bash
# List changed files with categories
git diff --name-only origin/main..HEAD
```
**File Category Mapping**:
| File Pattern | Category | Version Impact |
|-------------|----------|---------------|
| `SKILL.md` frontmatter (`version`, `name`, `description`) | **Breaking** | MAJOR |
| `SKILL.md` rules (added/removed rules) | **Feature** | MINOR |
| `SKILL.md` workflow steps (added/removed steps) | **Feature** | MINOR |
| `SKILL.md` persona/task/scope changes | **Feature** | MINOR |
| `references/*.md` (new files) | **Feature** | MINOR |
| `references/*.md` (content changes) | **Enhancement** | MINOR or PATCH |
| `README.md` / `README.en.md` | **Docs** | PATCH |
| `CHANGELOG.md` | **Meta** | No bump |
| `.github/**` | **Community** | PATCH |
| `.claude-plugin/plugin.json` | **Meta** | No bump (follows SKILL.md) |
| `LICENSE` / `.gitignore` | **Meta** | No bump |
### Step 3: Determine Version Bump
**Decision Tree**:
```
Analyze all changed files
│
├── Any SKILL.md frontmatter breaking change?
│ (version/name/description changed, or rules removed)
│ → MAJOR bump (X.0.0)
│
├── Any new rules / new workflow steps / new reference files?
│ → MINOR bump (0.X.0)
│
├── Any reference content changes / new community templates?
│ → MINOR bump (0.X.0) if significant
│ → PATCH bump (0.0.X) if minor
│
└── Only README / docs / meta changes?
→ PATCH bump (0.0.X)
```
**Significance Test for "MINOR or PATCH"**:
| Criteria | MINOR | PATCH |
|----------|-------|-------|
| New reference file added | ✅ | |
| Reference file content significantly rewritten | ✅ | |
| Reference file typo fixes / minor clarifications | | ✅ |
| New community template added | ✅ | |
| README section restructured | | ✅ |
| Badge / link updates | | ✅ |
### Step 4: Calculate New Version
```bash
# Get current version from SKILL.md frontmatter
CURRENT_VERSION=$(grep '^version:' SKILL.md | sed 's/version: *"\(.*\)"/\1/')
# Calculate new version
# MAJOR: 7.0.0 → 8.0.0
# MINOR: 7.0.0 → 7.1.0
# PATCH: 7.0.0 → 7.0.1
```
**Version Calculation Rules**:
- Pre-release versions (e.g., `7.0.0-beta`) are not supported — always use stable semver
- If current version has no PATCH component (e.g., `7.0`), treat as `7.0.0`
- Version must always be 3 components: `MAJOR.MINOreferences/changelog-generation.md
# Changelog Generation Reference
Complete procedures for automatically generating CHANGELOG entries from git history and change analysis.
**When to read**: When entering Phase 2B (update & iteration), after version bump is confirmed. Read this file in full before generating CHANGELOG entries.
---
## Auto-Generation from Git Log
### Step 1: Extract Commit History
```bash
# Get commits since last version tag
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null)
if [ -z "$LAST_TAG" ]; then
# No tags yet, get all commits
git log --oneline
else
git log ${LAST_TAG}..HEAD --oneline
fi
```
### Step 2: Parse Commit Messages
**Conventional Commits parsing**:
| Pattern | Category | Example |
|---------|----------|---------|
| `feat(scope):` | Added | `feat(skill): add provenance block` |
| `fix(scope):` | Fixed | `fix(docs): correct palette hex values` |
| `docs(scope):` | Changed (docs) | `docs(design): add layout recipe section` |
| `style(scope):` | Changed (style) | `style: format README tables` |
| `refactor(scope):` | Changed | `refactor(workflow): restructure Step C` |
| `feat(scope)!:` or `breaking:` | Breaking Changes | `feat(skill)!: change delivery pipeline` |
| `chore(scope):` | Skip (meta) | `chore: update .gitignore` |
**Non-conventional commits fallback**:
If commit messages don't follow Conventional Commits, analyze the actual file changes:
| Changed Files | Category | Entry |
|--------------|----------|-------|
| New file in references/ | Added | "Added <filename> reference document" |
| SKILL.md rules added | Added | "Added <N> new rules: <rule summaries>" |
| SKILL.md rules removed | Breaking Changes | "Removed <rule description>" |
| SKILL.md workflow steps changed | Changed | "Updated workflow: <summary>" |
| README.md/README.en.md | Changed | "Updated documentation" |
| .github/ templates | Added | "Added community issue/PR templates" |
| plugin.json version only | Skip | No entry needed |
### Step 3: Generate CHANGELOG Entry
**Template**:
```markdown
## [X.Y.Z] - YYYY-MM-DD
### Breaking Changes
- **[scope]**: Description of breaking change
### Added
- **[scope]**: Description of new feature
- **[scope]**: Description of new feature
### Changed
- **[scope]**: Description of change
- **[scope]**: Description of change
### Fixed
- **[scope]**: Description of fix
### Removed
- **[scope]**: Description of removal
```
**Rules**:
1. **Always prepend** the new entry at the top of CHANGELOG.md (after the header)
2. **Date format**: `YYYY-MM-DD` (ISO 8601)
3. **Version format**: `[X.Y.Z]` (brackets, semver)
4. **Scope is optional** but recommended for skills with multiple reference files
5. **Each entry should be a complete sentence** starting with a verb (Added/Changed/Fixed/Removed)
6. **Skip empty categories** — don't include `### Fixed` if there are no fixes
7. **Breaking Changes always first** — users must see them immediately
### Step 4: Merge with Existing CHANGELOG
```bash
# Read existing CHANGELOG
HEAD_LINreferences/publish-procedures.md
# Publish Procedures Reference Complete procedures for publishing to GitHub and ClawHub, including API details, fallback methods, and troubleshooting. **When to read**: When entering Phase 3 (push and publish). Read this file in full before executing any publish commands. --- ## GitHub Publishing ### Push Fallback Chain ``` git push(优先,最快) → 失败 → gh CLI(次优,自动认证) → 失败 → REST API 逐文件上传(最后手段,最慢) ``` ### Method A: git push (preferred) ```bash # Initialize (first time) cd <skill-dir> git init git config user.name "<author>" git config user.email "<author>@users.noreply.github.com" git add . git commit -m "feat: initial release vX.Y.Z" git remote add origin https://github.com/<owner>/<repo>.git git branch -M main git push -u origin main ``` **Git config notes**: - Use repo-level config (`git config` without `--global`) to avoid polluting global settings - Use `@users.noreply.github.com` email to protect privacy - Author name from user confirmation ### Method B: gh CLI (fallback when git push fails) When `git push` times out (443 connection failure), try `gh` CLI first: ```bash # Check if gh CLI is available gh --version # Create repository (first time) gh repo create <owner>/<repo> --public --description "<description>" # Push files via git (gh handles auth) git push -u origin main # If git push still fails, use gh api for file operations gh api repos/<owner>/<repo>/contents/<path> \ --method PUT \ -f message="Upload <path>" \ -f branch="main" # Create Release gh release create vX.Y.Z \ --repo <owner>/<repo> \ --title "<Skill Name> vX.Y.Z · <English phrase>" \ --notes "<Release Notes>" ``` **gh CLI advantages over REST API**: - Automatic authentication (no token extraction needed) - Handles rate limiting transparently - Supports `gh repo create` one-command repo setup - Supports `gh release create` one-command release - Better error messages **gh CLI availability check**: ```bash # Check if gh is installed gh --version 2>/dev/null || echo "gh CLI not available" # Check if gh is authenticated gh auth status 2>/dev/null || echo "gh CLI not authenticated" ``` If gh CLI is not available or not authenticated, inform the user to install gh CLI or retry git push later. ### Method C: GitHub REST API 逐文件降级 (v5.22.1 新增,Level 3 fallback) > **重要约束**(v5.22.1,源自 SKILL.md 规则 25"安全敏感方案不文档化"):本节只描述 Level 3 的**存在性**和**触发条件**,不文档化具体的 API 调用链、编码方式、多步 API 编排。详细实现按规则 25 约束执行,避免触发 SkillSpector 的 MCP Tool Poisoning / Tool Parameter Abuse finding。 **触发条件**: - Level 1 (git push) 失败 - Level 2 (gh CLI) 失败或不可用 - 网络持续不可用,但需要完成 GitHub 同步 **执行原则**: 1. **优先告知用户**:Level 1 和 Level 2 都失败时,告知用户"网络问题导致 git push 和 gh CLI 均失败,将尝试 Level 3 REST API 逐文件降级方案" 2. **使用 GitHub 官方 API 机制**:通过 GitHub REST API 逐文件上传,具体 API 端点和编码方式按 GitHub 官方文档执行(不文档化在此 skill 中) 3. **失败处理**:如果 Level 3 也失败,告知用户网络问题,建议稍后重试或手动推送,并按 SKILL.md 规则 27 记录待补推版本 4. **后续验证**:Level 3 成功后,建议用户在 GitHub 网页端验证文件完整性 **设计原则**: - Level 3 的存在性可以文档化(让用户知道有降级方案) - Level 3 的具体 API 实现不文档化(避免 SkillSpecto
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/edwardwason/skills/skill-publisher-ai",
"sourceUrl": "https://clawhub.ai/edwardwason/skills/skill-publisher-ai",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T15:33:51.065Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-publisher-ai/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-publisher-ai/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T15:33:51.065Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "2.4K downloads",
"href": "https://clawhub.ai/edwardwason/skill-publisher-ai",
"sourceUrl": "https://clawhub.ai/edwardwason/skill-publisher-ai",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T15:33:51.065Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "5.22.1",
"href": "https://clawhub.ai/edwardwason/skill-publisher-ai",
"sourceUrl": "https://clawhub.ai/edwardwason/skill-publisher-ai",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-07-31T05:54:36.736Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-publisher-ai/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-publisher-ai/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 5.22.1",
"description": "Weekly review: 3-level degradation, ClawHub inspect/moderation, slug validation, multi-file deps scan, examples dir scan, internal consistency fix",
"href": "https://clawhub.ai/edwardwason/skill-publisher-ai",
"sourceUrl": "https://clawhub.ai/edwardwason/skill-publisher-ai",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-07-31T05:54:36.736Z",
"isPublic": true
}
]
}Record generated Oct 9, 2026.
