skill-update-checker
SKILL.md
Skill Update Checker
Multi-source skill version checker and update notifier with configurable whitelist support and pluggable platform adapters.
Features
- Multi-source support: ClawHub, GitHub, Git repositories, private skill platforms, ZIP packages
- Configurable whitelist: Check all skills or only specified ones
- Auto-discovery: Automatically scan global skills directory and all agent workspaces
- Pluggable platform adapters: Default implementation for new platforms
- Multiple notification channels: Console, Feishu, POPO, email
- Structured output: Clear report with skill count, update details, version changes
Trigger Conditions
Activate this skill when user mentions:
- "skill update check", "skill version check", "check skill updates"
- "update skills", "skill更新", "skill版本检查", "skill更新检查"
- "自动更新skill", "检查skill更新"
Do NOT trigger on:
- OpenClaw core updates ("更新龙虾", "openclaw update", "升级openclaw")
Workflow
Step 1: Initialize Configuration (First Run)
Check if config exists at ~/.openclaw/skill-update-checker/config.json:
{
"version": "1.1.0",
"checkMode": "all",
"whitelist": [],
"scanPaths": [],
"platforms": {
"clawhub": { "enabled": true },
"github": { "enabled": true },
"netease": {
"enabled": true,
"baseUrl": "https://skills.netease.com",
"token": ""
},
"skillhub": {
"enabled": true,
"baseUrl": "https://skillhub.cn"
},
"skillPlatform": { "enabled": true, "defaultAdapter": true }
},
"skills": {
"feishu-doc": {
"platform": "netease",
"source": "feishu-doc"
},
"my-skill": {
"platform": "custom",
"checkUrl": "https://custom-platform.com/api/skills/my-skill"
}
},
"notification": {
"channels": ["console"],
"feishu": { "webhook": "" },
"popo": { "webhook": "" },
"email": { "to": "" }
},
"schedule": {
"enabled": false,
"cron": "0 9 * * *"
}
}
If not exists, run initialization:
node ./scripts/init-config.mjs
This will:
- Read
~/.openclaw/openclaw.jsonto find all agent workspaces - Scan and record all skills directories
- Generate default config
Step 2: Discover Skills
Run skill discovery:
node ./scripts/discover.mjs
This scans:
~/.openclaw/skills/(global skills)~/.openclaw/workspace/skills/(workspace skills)- Each agent's
<workspace>/skills/(from openclaw.json)
Output: ~/.openclaw/skill-update-checker/skills-index.json
{
"scannedAt": "2026-04-17T17:00:00Z",
"skills": [
{
"name": "feishu-doc",
"path": "/data/openclaw/skills/feishu-doc",
"sourceType": "clawhub",
"source": "clawhub/feishu-doc",
"currentVersion": "1.2.0",
"lastChecked": null
},
{
"name": "my-custom-skill",
"path": "~/.openclaw/skills/my-custom-skill",
"sourceType": "github",
"source": "owner/repo",
"currentVersion": "v1.0.0",
"lastChecked": null
}
]
}
Step 3: Check for Updates
Run version check:
node ./scripts/check.mjs [--skill=<name>] [--output=json|markdown]
This will:
- Load skills index
- Filter by whitelist (if configured)
- For each skill, use appropriate adapter to check latest version
- Compare versions and generate update report
Step 4: Output Results
Console Output Format:
============================================================
📊 Skill Update Check Report
============================================================
Scan Time: 2026-04-17 17:00:00
Total Skills Scanned: 15
Skills with Updates: 3
------------------------------------------------------------
🔄 Available Updates
------------------------------------------------------------
1. feishu-doc
Current: 1.2.0
Latest: 1.3.0
Source: clawhub
Changes: Added feishu_bitable support, fixed auth issues
Action: clawhub install feishu-doc --force
2. my-custom-skill
Current: v1.0.0
Latest: v1.1.0
Source: github (owner/repo)
Changes: New features, bug fixes
Action: cd ~/.openclaw/skills/my-custom-skill && git pull
3. internal-tool
Current: 1.0.0
Latest: 1.0.1
Source: skill-platform (https://skills.example.com)
Changes: Security patch
Action: Manual update required
------------------------------------------------------------
✅ Up to Date (12 skills)
------------------------------------------------------------
- skill-creator (1.0.0)
- experience-manager (1.3.1)
- ...
============================================================
💡 Next Steps
============================================================
Run updates with: skill-update-checker update --all
Or update individually: skill-update-checker update <skill-name>
JSON Output Format:
{
"scanTime": "2026-04-17T17:00:00Z",
"summary": {
"total": 15,
"updatable": 3,
"upToDate": 12
},
"updates": [
{
"name": "feishu-doc",
"currentVersion": "1.2.0",
"latestVersion": "1.3.0",
"sourceType": "clawhub",
"source": "clawhub/feishu-doc",
"changes": "Added feishu_bitable support, fixed auth issues",
"updateCommand": "clawhub install feishu-doc --force"
}
],
"upToDate": [
{ "name": "skill-creator", "version": "1.0.0" }
]
}
Supported Adapters
| Platform | Adapter | Version Source | Example URL |
|---|---|---|---|
| clawhub | ClawHubAdapter | clawhub info <slug> |
clawhub/skill-name |
| github | GitHubAdapter | GitHub Releases API | owner/repo |
| netease | NeteaseAdapter | 网易集团 Skill 平台 API | https://skills.netease.com/skills/@skill-name |
| skillhub | SkillHubAdapter | 腾讯 SkillHub 平台 API | https://skillhub.cn/skills/skill-name |
Skill-Level Configuration
Each skill can have its own platform, source, and download URL configuration:
{
"skills": {
"feishu-doc": {
"platform": "netease",
"source": "feishu-doc"
},
"my-custom-skill": {
"platform": "github",
"source": "myorg/my-custom-skill"
},
"internal-tool": {
"platform": "custom",
"checkUrl": "https://internal.company.com/api/skills/internal-tool/version",
"downloadUrl": "https://internal.company.com/api/skills/internal-tool/download"
},
"skill-publisher": {
"platform": "netease",
"source": "skill-publisher",
"downloadUrl": "https://skills.netease.com/api/skills/skill_0f9aceab5a57/download"
}
}
}
Platform values:
clawhub- Use ClawHub registry (auto-detects registry from~/.config/clawhub/config.json)github- Use GitHub releasesnetease- Use 网易集团 Skill 平台skillhub- Use 腾讯 SkillHub 平台
Configuration commands:
# Set platform and source
node config.mjs skill set feishu-doc netease feishu-doc
# Set custom version check URL
node config.mjs skill custom internal-tool https://api.company.com/skills/internal-tool/version
# Set custom download URL (highest priority for updates)
node config.mjs skill download-url skill-publisher https://skills.netease.com/api/skills/skill_xxx/download
Auto-discovery:
If a skill is not in the skills config, the checker will:
- Try to match by name on all enabled platforms
- If not found, prompt user to provide platform/source
- Save user input to config for future checks
Configuration Management
Modify Whitelist
# Add to whitelist
node ./scripts/config.mjs whitelist add <skill-name>
# Remove from whitelist
node ./scripts/config.mjs whitelist remove <skill-name>
# Set check mode
node ./scripts/config.mjs set mode <whitelist|all>
Cron Setup
Enable automatic checking:
# Add to crontab
0 9 * * * node /path/to/scripts/check.mjs --notify
Or use OpenClaw cron:
openclaw cron add skill-update-check "0 9 * * *" \
"node /path/to/scripts/check.mjs --notify"
Scripts Reference
| Script | Purpose |
|---|---|
init-config.mjs |
Initialize configuration |
discover.mjs |
Scan and index all skills |
check.mjs |
Check for updates |
update.mjs |
Execute updates |
config.mjs |
Manage configuration |
refresh-paths.mjs |
Refresh agent workspace paths |
See references/ for detailed adapter implementation guides.