搜索

PythonReactSEOPDF
OpenClaw

ClawHub Push Skill

一键推送 skill 到 ClawHub registry,自动处理 acceptLicenseTerms 和文件格式问题

bg1avd0 来源安装数☆ 0 仓库 Starsv1.0.0

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

SkillHub CLI

skillhub install bg1avd/clawhub-push-skill

打开来源仓库,查看说明和兼容环境后,按来源提供的命令或步骤安装。

将来源链接提供给你的 Agent,让它先读取说明、核对依赖,并向你说明将执行的安装步骤。

查看来源 ↗使用指南

技能说明

ClawHub Push Skill

自动修复 ClawHub CLI 的 acceptLicenseTerms bug,一键推送 skill 到 ClawHub registry。

功能

  • ✅ 自动获取正确的 token 路径(支持新版 ~/.config/clawhub/token.json)
  • ✅ 自动修复 acceptLicenseTerms 参数问题
  • ✅ 自动处理 tags 数组格式
  • ✅ 支持单个文件上传(不打包)
  • ✅ 支持批量推送整个目录

使用方法

推送单个 skill
# 使用默认配置推送
clawhub-push /path/to/skill

# 或指定 slug 和版本
clawhub-push /path/to/skill --slug my-skill --version 1.0.0
批量推送
# 推送 skills 目录下所有变更
clawhub-push-batch ~/.openclaw/workspace/skills

技术细节

修复的问题
  1. Token 路径问题:新版 ClawHub 将 token 存储在 ~/.config/clawhub/token.json,旧版在 ~/.clawhub/token

  2. acceptLicenseTerms 问题:CLI 的 FormData 中缺少该字段,需要在 payload JSON 中添加 acceptLicenseTerms: true

  3. Tags 格式问题:tags 必须是数组 ["latest"] 而不是字符串

  4. 文件上传方式:必须用 -F "files=@文件名" 分别上传每个文件,不能用 tar.gz 打包

API 端点
  • Registry: https://clawhub.ai
  • Publish API: POST /api/v1/skills
  • Payload 格式:
    {
      "slug": "skill-slug",
      "version": "1.0.0",
      "displayName": "Skill Name",
      "tags": ["latest"],
      "acceptLicenseTerms": true
    }
    

Changelog

1.0.0
  • Initial release
  • 修复 acceptLicenseTerms bug
  • 支持单个和批量推送
  • 自动检测 token 位置

来源信息

Source
github
Repository
openclaw/skills
Path
skills/bg1avd/clawhub-push-skill
Version
1.0.0
Commit
44a1bc27e6d0faeab1becc5e1d3ed51093546eff
分类来源
rules
状态
active
可见性
public

这些信息来自收录时的来源分析,可能滞后;使用前请核对最新来源文件。

README

ClawHub Push Skill

一键推送 skill 到 ClawHub registry,自动处理 acceptLicenseTerms 和文件格式问题。

问题背景

ClawHub CLI 在推送时遇到以下问题:

  1. acceptLicenseTerms: invalid value - 缺少必要的许可确认字段
  2. tags: an array - tags 必须是数组格式
  3. Token 路径变更 - 新版在 ~/.config/clawhub/token.json

安装

# 通过 ClawHub 安装(发布后)
clawhub install clawhub-push-skill

# 或手动安装
cd /path/to/skill
npm install -g .

使用方法

推送单个 skill
# 使用 SKILL.md 中的元数据推送
clawhub-push /path/to/skill

# 或指定参数
clawhub-push /path/to/skill --slug my-skill --version 1.0.0 --name "My Skill"
批量推送
# 推送 skills 目录下所有变更
clawhub-push-batch ./skills

技术实现

修复的核心问题
  1. Token 路径:支持新旧两种 token 存储位置

    • 新版:~/.config/clawhub/token.json
    • 旧版:~/.clawhub/token
  2. Payload 格式:

    {
      "slug": "skill-slug",
      "version": "1.0.0",
      "displayName": "Skill Name",
      "tags": ["latest"],
      "acceptLicenseTerms": true
    }
    
  3. 文件上传方式:使用 FormData 分别上传每个文件,不用 tar.gz 打包

API 端点
  • Registry: https://clawhub.ai
  • Publish API: POST /api/v1/skills
  • Auth: Authorization: Bearer <token>

依赖

  • Node.js 18+
  • js-yaml
  • FormData (Node 18+ 内置)

License

MIT

来源内容

SKILL.md
# ClawHub Push Skill

自动修复 ClawHub CLI 的 `acceptLicenseTerms` bug,一键推送 skill 到 ClawHub registry。

## 功能

- ✅ 自动获取正确的 token 路径(支持新版 `~/.config/clawhub/token.json`)
- ✅ 自动修复 `acceptLicenseTerms` 参数问题
- ✅ 自动处理 `tags` 数组格式
- ✅ 支持单个文件上传(不打包)
- ✅ 支持批量推送整个目录

## 使用方法

### 推送单个 skill

```bash
# 使用默认配置推送
clawhub-push /path/to/skill

# 或指定 slug 和版本
clawhub-push /path/to/skill --slug my-skill --version 1.0.0
```

### 批量推送

```bash
# 推送 skills 目录下所有变更
clawhub-push-batch ~/.openclaw/workspace/skills
```

## 技术细节

### 修复的问题

1. **Token 路径问题**:新版 ClawHub 将 token 存储在 `~/.config/clawhub/token.json`,旧版在 `~/.clawhub/token`

2. **acceptLicenseTerms 问题**:CLI 的 FormData 中缺少该字段,需要在 payload JSON 中添加 `acceptLicenseTerms: true`

3. **Tags 格式问题**:`tags` 必须是数组 `["latest"]` 而不是字符串

4. **文件上传方式**:必须用 `-F "files=@文件名"` 分别上传每个文件,不能用 tar.gz 打包

### API 端点

- Registry: `https://clawhub.ai`
- Publish API: `POST /api/v1/skills`
- Payload 格式:
  ```json
  {
    "slug": "skill-slug",
    "version": "1.0.0",
    "displayName": "Skill Name",
    "tags": ["latest"],
    "acceptLicenseTerms": true
  }
  ```

## Changelog

### 1.0.0
- Initial release
- 修复 acceptLicenseTerms bug
- 支持单个和批量推送
- 自动检测 token 位置
README
# ClawHub Push Skill

一键推送 skill 到 ClawHub registry,自动处理 `acceptLicenseTerms` 和文件格式问题。

## 问题背景

ClawHub CLI 在推送时遇到以下问题:
1. `acceptLicenseTerms: invalid value` - 缺少必要的许可确认字段
2. `tags: an array` - tags 必须是数组格式
3. Token 路径变更 - 新版在 `~/.config/clawhub/token.json`

## 安装

```bash
# 通过 ClawHub 安装(发布后)
clawhub install clawhub-push-skill

# 或手动安装
cd /path/to/skill
npm install -g .
```

## 使用方法

### 推送单个 skill

```bash
# 使用 SKILL.md 中的元数据推送
clawhub-push /path/to/skill

# 或指定参数
clawhub-push /path/to/skill --slug my-skill --version 1.0.0 --name "My Skill"
```

### 批量推送

```bash
# 推送 skills 目录下所有变更
clawhub-push-batch ./skills
```

## 技术实现

### 修复的核心问题

1. **Token 路径**:支持新旧两种 token 存储位置
   - 新版:`~/.config/clawhub/token.json`
   - 旧版:`~/.clawhub/token`

2. **Payload 格式**:
   ```json
   {
     "slug": "skill-slug",
     "version": "1.0.0",
     "displayName": "Skill Name",
     "tags": ["latest"],
     "acceptLicenseTerms": true
   }
   ```

3. **文件上传方式**:使用 FormData 分别上传每个文件,不用 tar.gz 打包

### API 端点

- **Registry**: `https://clawhub.ai`
- **Publish API**: `POST /api/v1/skills`
- **Auth**: `Authorization: Bearer <token>`

## 依赖

- Node.js 18+
- js-yaml
- FormData (Node 18+ 内置)

## License

MIT

相关技能

OpenClaw

1password

daggerkun007

Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.