blessonism

dependency-tracker

Track and check updates for all OpenClaw dependencies: managed skills (GitHub/ClewHub), bundled skills, workspace skills, npm packages, pip packages, and CLI tools. Use when user asks "check for updates", "dependency status", "are my skills up to date", "什么需要更新", "检查依赖", "检查更新", or wants a dependency health report. Triggers on: dependency check, skill updates, outdated packages, version drift.

blessonism 58 5 Updated 3mo ago

Resources

1
GitHub

Install

npx skillscat add blessonism/openclaw-skills/dependency-tracker

Install via the SkillsCat registry.

SKILL.md

Dependency Tracker

Track version drift across all OpenClaw dependencies. Detect updates, generate reports, notify Boss.

Quick Start

# 1. Scan — build/refresh the local manifest
python3 scripts/scan.py

# 2. Check — compare local vs remote versions
python3 scripts/check.py

# 3. Report — generate human-readable Markdown report
python3 scripts/report.py

All scripts are in the skill directory: ~/.openclaw/workspace/skills/dependency-tracker/scripts/

What It Tracks

Category Source Detection Method
Managed skills (GitHub) .skill-lock.json GitHub Contents API (git hash compare)
Managed skills (ClewHub) _meta.json ClewHub API (version compare)
Bundled skills /app/skills/ Tied to OpenClaw version
Workspace skills workspace/skills/ Local git (self-managed)
OpenClaw version npm registry + GitHub npm view / GitHub Releases API
npm dependencies /app/node_modules/ npm outdated
pip packages system Python pip3 list --outdated
CLI tools PATH Version commands

Workflow

On-Demand Check

When user asks to check dependencies:

  1. Run scan.py to refresh the manifest
  2. Run check.py to compare against remote sources
  3. Run report.py to generate the report
  4. Send report summary to user (Telegram)
  5. If unknown-source skills found, notify Boss

Scheduled Check (Cron)

Set up a weekly cron job:

  • Run all three scripts in sequence
  • Push report summary to Telegram
  • Only notify if updates are found or errors occur

Data Files

All runtime data lives in data/ (gitignored from backup):

data/
├── manifest.json        # Full dependency inventory
├── check-results.json   # Latest check results
└── reports/
    └── YYYY-MM-DD-report.md  # Generated reports

Key Design Decisions

  • No auto-update: Only detect and report. User decides when to update.
  • GitHub hash comparison: Uses git hash-object locally vs GitHub Contents API SHA — exact match, no false positives.
  • Lock file as source of truth: .skill-lock.json (OpenClaw's managed skill registry) provides repo URLs and install metadata.
  • Changelog extraction: For GitHub skills with updates, fetches recent commits for context.
  • Unknown source notification: Skills without traceable source are flagged and reported to Boss.