Claim this agent
agentCLAWHUBUnverified

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

OpenClaw

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
  1. 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.
  2. 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.MINO

references/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_LIN

references/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
Github ReposUpdated 0h agoRank 70

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!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

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

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

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.

Sponsored

Ads related to Skill Publisher 技能发布 and adjacent AI workflows.