docs: generalize skill template development guide
All checks were successful
技能自动化发布 / release (push) Successful in 23s

This commit is contained in:
2026-04-14 10:05:16 +08:00
parent f214598470
commit b1e93a323f
3 changed files with 39 additions and 19 deletions

View File

@@ -1,7 +1,7 @@
--- ---
name: 技能开发模板(复制后请修改) name: 技能开发模板(复制后请修改)
description: "这是 OpenClaw 技能开发模板仓库,不直接作为业务技能发布。复制为新技能仓库后,按本模板替换 slug、名称、说明、CLI 子命令与 service 实现。" description: "这是 OpenClaw 技能开发模板仓库,不直接作为业务技能发布。复制为新技能仓库后,按本模板替换 slug、名称、说明、CLI 子命令与 service 实现。"
version: 1.0.12 version: 1.0.13
author: 深圳匠厂科技有限公司 author: 深圳匠厂科技有限公司
metadata: metadata:
openclaw: openclaw:

View File

@@ -214,10 +214,23 @@ scripts/
- 技能名称 - 技能名称
- 技能描述 - 技能描述
- slug - `slug`
- category 作用:技能的唯一英文标识,通常用于仓库名、发布包名、运行时目录名、平台主键匹配等
示例:`weibo-publisher``douyin-publisher``xiaohongshu-publisher`
- `category`
作用:技能在平台中的分类,用于市场展示与归类,不是代码内部键
示例:`通用``内容``办公协作``物流``抖音``小红书`
- `developer_ids`(如需给非公开技能自动补开发者可见权限) - `developer_ids`(如需给非公开技能自动补开发者可见权限)
- dependencies 作用:声明发布后默认拥有可见权限的开发者用户 ID 列表
- `dependencies`
作用:声明该技能依赖的兄弟技能或运行前置能力,便于平台或编排层识别依赖关系
示例:
```yaml
dependencies:
required:
- account-manager
- content-manager
```
- 何时使用本技能 - 何时使用本技能
- 对用户的引导话术 - 对用户的引导话术
- CLI 使用原则 - CLI 使用原则
@@ -380,27 +393,27 @@ metadata:
3. 用子进程调用 3. 用子进程调用
4. 机器可读输出优先 JSON 4. 机器可读输出优先 JSON
## 13. 如何开发发布型 skill ## 13. 如何开发一个新 skill
如果你开发的是 publisher 类 skill建议这个顺序 不管你开发的是发布类、采集类、分析类还是知识库类 skill建议都先按下面这个顺序推进
1. 先把目录结构搭完整 1. 先把目录结构搭完整
2. 先让 `health` / `version` 跑通 2. 先让 `health` / `version` 跑通
3.`publish_service.py`骨架跑通 3. 再把核心 `service` 骨架跑通
4. 再接 `sibling_bridge.py` 4. 再接兄弟技能桥接、数据库或外部系统
5. 最后再`*_playwright.py` 5. 最后再补浏览器自动化、复杂流程编排或高风险集成
不要一开始就直接写页面选择器。 不要一开始就直接写页面选择器、复杂接口编排或深层业务逻辑
推荐先确保这些基础能力正常: 推荐先确保这些基础能力正常:
- 能取到账号 - CLI 入口能跑通
- 能取到文章 - 基础命令输出稳定
- 能写日志 - 关键依赖能取到
- CLI 子命令通了 - 日志或本地状态能落下来
- 错误返回值格式定好了 - 错误返回值格式定好了
然后再进浏览器自动化 如果你的 skill 恰好是 publisher 类,可以把上面的“核心 `service`”具体落成 `publish_service.py`,再逐步接 `sibling_bridge.py`、`*_playwright.py`。但这只是示例,不代表模板只适合发布类技能
## 14. 本地开发的最小验证顺序 ## 14. 本地开发的最小验证顺序
@@ -417,12 +430,19 @@ python scripts/main.py version
```bash ```bash
python scripts/main.py -h python scripts/main.py -h
python scripts/main.py publish -h python scripts/main.py <your-command> -h
``` ```
### 3. 验证本地日志与数据库 ### 3. 验证本地日志与数据库
如果是发布型 skill再继续 如果你的 skill 需要本地日志或数据库,再继续:
```bash
python scripts/main.py <your-log-command>
python scripts/main.py <your-detail-command> <id>
```
如果你沿用了模板中的发布型骨架,那么这里可以具体对应成:
```bash ```bash
python scripts/main.py logs python scripts/main.py logs
@@ -434,7 +454,7 @@ python scripts/main.py log-get 1
比如: 比如:
```bash ```bash
python scripts/main.py publish python scripts/main.py <your-command>
``` ```
## 15. 发布到正式环境验证 ## 15. 发布到正式环境验证

View File

@@ -1,5 +1,5 @@
"""技能标识与版本(复制后请修改)。""" """技能标识与版本(复制后请修改)。"""
SKILL_SLUG = "your-skill-slug" SKILL_SLUG = "your-skill-slug"
SKILL_VERSION = "1.0.12" SKILL_VERSION = "1.0.13"
LOG_LOGGER_NAME = "openclaw.skill.your_skill_slug" LOG_LOGGER_NAME = "openclaw.skill.your_skill_slug"