Source Code
Skill Dependencies
Manage dependencies between OpenClaw skills โ like npm for skills.
Version Constraints
Supports semver-style version constraints:
depends:
- weather@>=1.0.0 # Version 1.0.0 or higher
- calendar@^2.0.0 # Compatible with 2.x.x
- browser@~1.2.0 # Approximately 1.2.x
- coding-agent@* # Any version
- [email protected] # Exact version
Conflict Detection
Declare skills that cannot coexist:
conflicts:
- old-weather # Cannot use with old-weather
- legacy-calendar
Concepts
Declaring Dependencies
In a skill's SKILL.md frontmatter:
---
name: my-skill
description: Does something cool
depends:
- weather # Requires weather skill
- coding-agent # Requires coding-agent skill
optional:
- github # Enhanced if github skill present
---
Dependency Types
- depends โ Required skills (fail if missing)
- optional โ Enhanced functionality if present
- conflicts โ Cannot be used with these skills
Commands
Scan Skills
# Scan all installed skills for dependencies
./scripts/scan-skills.sh
# Scan specific skill
./scripts/scan-skills.sh weather
Dependency Tree
# Show full dependency tree
./scripts/skill-tree.sh my-skill
# Output:
# my-skill
# โโโ weather (required)
# โ โโโ (no dependencies)
# โโโ coding-agent (required)
# โโโ github (optional)
Check Missing
# Find skills with unmet dependencies
./scripts/check-deps.sh
Registry Format
Skills can declare their metadata in skill.json:
{
"name": "my-skill",
"version": "1.0.0",
"depends": {
"weather": ">=1.0.0",
"coding-agent": "*"
},
"optional": {
"github": ">=2.0.0"
}
}
Skill Locations
Scans these directories:
/usr/lib/node_modules/openclaw/skills/โ Built-in skills~/.openclaw/workspace/skills/โ User skills./skills/โ Project-local skills
ClawHub Registry Integration
Install skills from clawhub.com:
# Install a skill (auto-resolves dependencies)
./scripts/skill-install.sh weather
# Install with specific version
./scripts/skill-install.sh [email protected]
# Search for skills
./scripts/skill-search.sh "calendar"
# List installed vs available
./scripts/skill-list.sh --outdated
Auto-Resolution
When installing a skill with dependencies:
$ ./scripts/skill-install.sh travel-planner
๐ฆ Resolving dependencies for [email protected]...
โโโ weather@>=1.0.0 โ [email protected] โ
โโโ calendar@^2.0 โ [email protected] โ
โโโ browser (optional) โ [email protected] โ
๐ Checking conflicts...
โโโ No conflicts found โ
๐ฅ Installing 4 skills...
โ
[email protected]
โ
[email protected]
โ
[email protected]
โ
[email protected]
Done! Installed 4 skills.
Commands Summary
| Command | Description |
|---|---|
scan-skills.sh |
List all skills with their deps |
skill-tree.sh <name> |
Show dependency tree |
check-deps.sh |
Find missing dependencies |
skill-install.sh <name> |
Install from ClawHub |
skill-search.sh <query> |
Search registry |
check-conflicts.sh |
Detect conflicts |