SkillUp
Overview
INLINECODE0 通过一个统一的 shell 入口,对 skill 进行检查、打包和多平台发布。
它被设计成可在 Codex、OpenClaw 中文社区及其他能读取 SKILL.md 并执行 shell 命令的智能体环境中使用。
When to Use
在这些场景下使用:
- - 你要把一个 skill 发布到一个或多个平台
- 你要批量同步整个 skills 仓库
- 你希望尽量避免浏览器自动化
- 你希望优先从环境变量读取凭证,并允许配置文件回退
这些情况不适合使用:
- - 任务只是修改 skill 内容,并不需要发布
- 目标平台只能通过浏览器手工完成,且无法用 CLI 或 HTTP 配置替代
Inputs
统一入口:
CODEBLOCK0
常用参数:
- -
--source <path>: single skill directory or skill repository root - INLINECODE3 : INLINECODE4
- INLINECODE5 : path to a local TOML-like config file
- INLINECODE6 : where packaged zip files are written
- INLINECODE7 : where structured JSON results are written
- INLINECODE8 : validate and package without external publishing
- INLINECODE9 : stop at the first failure
- INLINECODE10 : keep going after failures
- INLINECODE11 : retry failed publishes
- INLINECODE12 :
strict, warn, INLINECODE15 - INLINECODE16 : 并发发布多个平台
- INLINECODE17 : 禁用并发发布
模式:
- -
check:检查 metadata、命令可用性和平台要求 - INLINECODE19 :只校验并打包,不进行远程发布
- INLINECODE20 :校验、打包并执行发布
- INLINECODE21 :检查本地发布环境是否齐全
- INLINECODE22 :查看本地版本和远端平台状态
- INLINECODE23 :自动提升版本号
- INLINECODE24 :上传前脱敏检查,扫描目录中的敏感信息
- INLINECODE25 :把当前 skill 安装到
codex、openclaw 或两者本地目录 - INLINECODE28 :从 GitHub release 还原本地 skill 文件到指定版本
Credential Priority
凭证优先级:
- 1. Environment variables
- Config file values
默认支持的环境变量:
- - INLINECODE29
- INLINECODE30
- INLINECODE31
- INLINECODE32
- INLINECODE33
Expected Layout
单个 skill 目录至少应包含:
可选的每个 skill 元数据可写在:
如果是 skills 仓库模式,根目录下可以包含多个子 skill 目录,每个目录都有自己的 SKILL.md。
为了让 Codex 和 OpenClaw 中文社区都能直接发现并使用这个技能,建议安装到各自的默认技能目录之一:
- - INLINECODE37
- INLINECODE38
平台开关:
- - 在
manifest.toml 里设置 [github].enabled = false 之类的值,可以跳过某个平台 - 可以把 manifest 中的开关和
--platforms <csv> 组合使用,分别控制“允许的平台集合”和“实际启用的平台集合”
上传前脱敏检查:
- - 默认使用
strict 模式,在打包前扫描技能目录中的文本文件 - 命中高风险敏感内容会直接阻止
check、package、 INLINECODE45 - 可用
.skillup-ignore 忽略特定文件或 glob 模式 - 如需只提示不阻止,可用 INLINECODE47
Publish Flow
- 1. 从给定 source 路径发现 skill
- 校验每个 skill 目录
- 预先获取各平台远端状态并输出发布前差异摘要
- 打包生成 zip 产物
- 按要求尝试发布到各个平台
- 在允许时并发发布多个平台
- 输出简洁的成功、跳过和失败摘要
- 把机器可读结果写入 INLINECODE48
Examples
以 dry-run 方式模拟发布单个 skill:
CODEBLOCK1
只做校验:
CODEBLOCK2
只做脱敏检查:
CODEBLOCK3
安装到本地智能体目录:
CODEBLOCK4
从 GitHub release 回滚本地文件:
CODEBLOCK5
使用配置文件发布整个 skills 仓库:
CODEBLOCK6
Notes
- - GitHub 发布支持把产物同步到目标仓库,并通过
gh 创建或更新 release - 发布结果 JSON 现在会同时写出
local_version、remote_version、platform_adjusted、 INLINECODE53 - 虾评在有
SKILLUP_XIAPING_API_KEY 或配置文件凭证时走 HTTP API - 虾评分类型会在可能的情况下通过实时分类 API 做校验
- ClawHub 优先使用官方
clawhub CLI,失败后再考虑 HTTP 回退 - OpenClaw 中文社区优先使用
claw 社区 CLI - 如果你希望 OpenClaw 中文社区自动发现这个技能,请优先放在
~/.openclaw/skills/SkillUp 或当前 OpenClaw 工作区的 INLINECODE58 - ClawHub 的服务端 trigger 异常会被单独分类,方便区分平台 bug 和本地打包问题
SkillUp
概述
SkillUp 通过一个统一的 shell 入口,对 skill 进行检查、打包和多平台发布。
它被设计成可在 Codex、OpenClaw 中文社区及其他能读取 SKILL.md 并执行 shell 命令的智能体环境中使用。
使用场景
在这些场景下使用:
- - 你要把一个 skill 发布到一个或多个平台
- 你要批量同步整个 skills 仓库
- 你希望尽量避免浏览器自动化
- 你希望优先从环境变量读取凭证,并允许配置文件回退
这些情况不适合使用:
- - 任务只是修改 skill 内容,并不需要发布
- 目标平台只能通过浏览器手工完成,且无法用 CLI 或 HTTP 配置替代
输入
统一入口:
bash
./skills/SkillUp/scripts/publish.sh [publish|check|package|redact-check|install-local|rollback] --source [options]
常用参数:
- - --source : 单个 skill 目录或 skill 仓库根目录
- --platforms : github,xiaping,openclaw,clawhub
- --config : 本地类 TOML 配置文件路径
- --artifact-dir : 打包 zip 文件的输出目录
- --result-file : 结构化 JSON 结果的输出路径
- --dry-run: 仅校验和打包,不进行外部发布
- --fail-fast: 遇到第一个失败即停止
- --continue-on-error: 失败后继续执行
- --retry : 重试失败的发布
- --redact-mode : strict、warn、off
- --parallel-publish: 并发发布多个平台
- --sequential-publish: 禁用并发发布
模式:
- - check:检查 metadata、命令可用性和平台要求
- package:只校验并打包,不进行远程发布
- publish:校验、打包并执行发布
- doctor:检查本地发布环境是否齐全
- status:查看本地版本和远端平台状态
- bump:自动提升版本号
- redact-check:上传前脱敏检查,扫描目录中的敏感信息
- install-local:把当前 skill 安装到 codex、openclaw 或两者本地目录
- rollback:从 GitHub release 还原本地 skill 文件到指定版本
凭证优先级
凭证优先级:
- 1. 环境变量
- 配置文件值
默认支持的环境变量:
- - SKILLUPGITHUBTOKEN
- SKILLUPXIAPINGAPIKEY
- SKILLUPOPENCLAWTOKEN
- SKILLUPCLAWHUBTOKEN
- CLAWHUBTOKEN
预期目录结构
单个 skill 目录至少应包含:
可选的每个 skill 元数据可写在:
如果是 skills 仓库模式,根目录下可以包含多个子 skill 目录,每个目录都有自己的 SKILL.md。
为了让 Codex 和 OpenClaw 中文社区都能直接发现并使用这个技能,建议安装到各自的默认技能目录之一:
- - ~/.codex/skills/SkillUp
- ~/.openclaw/skills/SkillUp
平台开关:
- - 在 manifest.toml 里设置 [github].enabled = false 之类的值,可以跳过某个平台
- 可以把 manifest 中的开关和 --platforms 组合使用,分别控制允许的平台集合和实际启用的平台集合
上传前脱敏检查:
- - 默认使用 strict 模式,在打包前扫描技能目录中的文本文件
- 命中高风险敏感内容会直接阻止 check、package、publish
- 可用 .skillup-ignore 忽略特定文件或 glob 模式
- 如需只提示不阻止,可用 --redact-mode warn
发布流程
- 1. 从给定 source 路径发现 skill
- 校验每个 skill 目录
- 预先获取各平台远端状态并输出发布前差异摘要
- 打包生成 zip 产物
- 按要求尝试发布到各个平台
- 在允许时并发发布多个平台
- 输出简洁的成功、跳过和失败摘要
- 把机器可读结果写入 publish-result.json
示例
以 dry-run 方式模拟发布单个 skill:
bash
./skills/SkillUp/scripts/publish.sh \
publish \
--source ./skills/SkillUp \
--platforms github,xiaping,openclaw,clawhub \
--dry-run
只做校验:
bash
./skills/SkillUp/scripts/publish.sh \
check \
--source ./skills/SkillUp \
--result-file ./skills/SkillUp/.skillup-artifacts/check-result.json
只做脱敏检查:
bash
./skills/SkillUp/scripts/publish.sh \
redact-check \
--source ./skills/SkillUp
安装到本地智能体目录:
bash
./skills/SkillUp/scripts/publish.sh \
install-local both \
--source ./skills/SkillUp
从 GitHub release 回滚本地文件:
bash
./skills/SkillUp/scripts/publish.sh \
rollback 0.1.7 \
--source ./skills/SkillUp
使用配置文件发布整个 skills 仓库:
bash
./skills/SkillUp/scripts/publish.sh \
--source ./skills \
--config ./skills/SkillUp/config.example.toml
备注
- - GitHub 发布支持把产物同步到目标仓库,并通过 gh 创建或更新 release
- 发布结果 JSON 现在会同时写出 localversion、remoteversion、platformadjusted、blocking
- 虾评在有 SKILLUPXIAPINGAPIKEY 或配置文件凭证时走 HTTP API
- 虾评分类型会在可能的情况下通过实时分类 API 做校验
- ClawHub 优先使用官方 clawhub CLI,失败后再考虑 HTTP 回退
- OpenClaw 中文社区优先使用 claw 社区 CLI
- 如果你希望 OpenClaw 中文社区自动发现这个技能,请优先放在 ~/.openclaw/skills/SkillUp 或当前 OpenClaw 工作区的 skills/SkillUp
- ClawHub 的服务端 trigger 异常会被单独分类,方便区分平台 bug 和本地打包问题