名称: skill-deps
描述: 追踪和管理 OpenClaw 技能之间的依赖关系。扫描技能依赖、可视化技能树、检测循环依赖、管理技能版本。适用于分析技能关系、检查技能间依赖或管理技能安装。
管理 OpenClaw 技能之间的依赖关系——类似于技能的 npm。
支持语义化版本(semver)风格的版本约束:
depends:
- weather@>=1.0.0 # 1.0.0 或更高版本
- calendar@^2.0.0 # 兼容 2.x.x 版本
- browser@~1.2.0 # 约 1.2.x 版本
- coding-agent@* # 任意版本
- github@1.5.0 # 精确版本
声明无法共存的技能:
conflicts:
- old-weather # 不能与 old-weather 同时使用
- legacy-calendar
在技能的 SKILL.md 前置元数据中声明:
---
**名称:** my-skill
**描述:** 实现某个酷炫功能
depends:
- weather # 需要 weather 技能
- coding-agent # 需要 coding-agent 技能
optional:
- github # 若存在 github 技能则功能增强
---
# 扫描所有已安装技能的依赖
./scripts/scan-skills.sh
# 扫描特定技能
./scripts/scan-skills.sh weather
# 显示完整的依赖树
./scripts/skill-tree.sh my-skill
# 输出示例:
# my-skill
# ├── weather (必需)
# │ └── (无依赖)
# └── coding-agent (必需)
# └── github (可选)
# 查找存在未满足依赖的技能
./scripts/check-deps.sh
技能可在 skill.json 中声明元数据:
{
"name": "my-skill",
"version": "1.0.0",
"depends": {
"weather": ">=1.0.0",
"coding-agent": "*"
},
"optional": {
"github": ">=2.0.0"
}
}
扫描以下目录:
1. /usr/lib/node_modules/openclaw/skills/ — 内置技能
2. ~/.openclaw/workspace/skills/ — 用户技能
3. ./skills/ — 项目本地技能
从 clawhub.com 安装技能:
# 安装技能(自动解析依赖)
./scripts/skill-install.sh weather
# 安装指定版本
./scripts/skill-install.sh weather@1.2.0
# 搜索技能
./scripts/skill-search.sh "calendar"
# 列出已安装与可用技能
./scripts/skill-list.sh --outdated
安装带依赖的技能时:
$ ./scripts/skill-install.sh travel-planner
📦 正在解析 travel-planner@1.0.0 的依赖...
├── weather@>=1.0.0 → weather@1.2.3 ✅
├── calendar@^2.0 → calendar@2.1.0 ✅
└── browser (可选) → browser@3.0.0 ✅
🔍 检查冲突...
└── 未发现冲突 ✅
📥 正在安装 4 个技能...
✅ weather@1.2.3
✅ calendar@2.1.0
✅ browser@3.0.0
✅ travel-planner@1.0.0
完成!已安装 4 个技能。
| 命令 | 描述 |
|---|---|
scan-skills.sh |
列出所有技能及其依赖 |
skill-tree.sh <名称> |
显示依赖树 |
check-deps.sh |
查找缺失依赖 |
skill-install.sh <名称> |
从 ClawHub 安装 |
skill-search.sh <查询> |
搜索注册表 |
check-conflicts.sh |
检测冲突 |