Skill Dependencies
by @myrodar
Track and manage dependencies between OpenClaw skills. Scan skills for dependencies, visualize skill trees, detect circular dependencies, and manage skill versioning. Use when analyzing skill relationships, checking which skills depend on others, or managing skill installations.
clawhub install skill-depsπ About This Skill
name: skill-deps description: Track and manage dependencies between OpenClaw skills. Scan skills for dependencies, visualize skill trees, detect circular dependencies, and manage skill versioning. Use when analyzing skill relationships, checking which skills depend on others, or managing skill installations.
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
- github@1.5.0 # 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
Commands
Scan Skills
# Scan all installed skills for dependencies
./scripts/scan-skills.shScan specific skill
./scripts/scan-skills.sh weather
Dependency Tree
# Show full dependency tree
./scripts/skill-tree.sh my-skillOutput:
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:
1. /usr/lib/node_modules/openclaw/skills/ β Built-in skills
2. ~/.openclaw/workspace/skills/ β User skills
3. ./skills/ β Project-local skills
ClawHub Registry Integration
Install skills from clawhub.com:
# Install a skill (auto-resolves dependencies)
./scripts/skill-install.sh weatherInstall with specific version
./scripts/skill-install.sh weather@1.2.0Search 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 travel-planner@1.0.0...
βββ weather@>=1.0.0 β weather@1.2.3 β
βββ calendar@^2.0 β calendar@2.1.0 β
βββ browser (optional) β browser@3.0.0 β
π Checking conflicts...
βββ No conflicts found β
π₯ Installing 4 skills...
β
weather@1.2.3
β
calendar@2.1.0
β
browser@3.0.0
β
travel-planner@1.0.0
Done! Installed 4 skills.
Commands Summary
| Command | Description |
|---------|-------------|
| scan-skills.sh | List all skills with their deps |
| skill-tree.sh | Show dependency tree |
| check-deps.sh | Find missing dependencies |
| skill-install.sh | Install from ClawHub |
| skill-search.sh | Search registry |
| check-conflicts.sh | Detect conflicts |