SuperAPI AI Directory

laohan-gengxin

General & other

View repository

Updated 10-15 22:11

About this skill

Tool Version Checking and Updating

Scan the version status of all commonly used tools, generate a numbered report, and update item by item after waiting for a selection.

Core Philosophy

Check only, do not auto-update—show the report to the user, and only act after confirmation. Because blind updates may break the environment (openclaw requires installing additional dependencies after an upgrade, plugins require a restart after an upgrade), the user must be informed about every update.

Not Applicable Scenarios

  • Checking only a single tool version → just run --version or npm view <pkg> version, this skill is not needed
  • Installing a new tool → use brew install / npm install / uv tool install, do not go through the update process

Workflow

Step 0: Discover Omissions

Run scripts/discover.sh, scan the whole system (npm/brew/pip/uv/conda/local-bin), filter out dependency libraries, and do a difference set against tools.json. If any newly discovered tools are found, report them to the user to confirm whether to add them.

The full description of the discovery methodology is in references/scan-methodology.md。

Step 1: Read the Tool List

Read references/tools.json, to get the check method and update command for all tools.

Step 2: Check Versions Item by Item

Execute check commands in parallel by category, comparing installed versions with the latest versions. Check logic:

Check Source Command Description
npm npm view <pkg> version npm registry latest version
brew brew outdated --json=v2 Homebrew outdated check
pip pip3 index versions <pkg> PyPI latest version
uv pip3 index versions <pkg> PyPI (those installed with uv tool can also be checked)
gh release gh api repos/<owner>/<repo>/releases/latest --jq .tag_name GitHub release
claude plugins claude plugins list --json Plugin marketplace version

Step 3: Generate a Numbered Report

Fixed format, one line per item:

[编号] [分类] [状态标记] [名字]
  已装: x.x.x → 最新: y.y.y
  作用: 中文说明
  频繁度: 高/中/低 | 推荐更新: 是/否 | 推荐卸载: 是/否
  更新方式: 具体命令
  重大变化: (如果有)

Status Markers:

  • ✅ Up to date
  • ⬆️ Behind (update recommended)
  • ⚠️ Far behind (across major versions)
  • ❓ Unknown (check failed)

Categories: Core Platform | npm Packages | Homebrew | Python | uv Tools | Plugins | Skills | Runtime

Step 4: Wait for the User's Selection

Prompt at the end of the report:

输入要更新的编号(用逗号或空格分隔),或输入 "all" 全部更新,"q" 退出:

Step 5: Execute Updates

After the user provides the numbers, execute the corresponding update commands item by item in numerical order. After each item is updated, report the result (success/failure).

Notes:

  • After updating openclaw, run the maintenance checklist (see below)
  • For brew use brew reinstall not brew upgrade(domestic mirror cache sync delay)
  • After npm updates, no need to --force
  • For pip use pip3 install --upgrade or uv pip install --upgrade
  • After a plugin update, the Claude Code session must be restarted
  • For skills use npx skills update -g -y to update all (updating individually is not supported)

Maintenance Checklist After Updating openclaw

If the user updated openclaw, remind them to execute:

# 1. 健康检查超时补丁
~/.openclaw/scripts/patch-health-timeout.sh

# 2. 补装 memory 依赖
DEPS_DIR=$(ls -td ~/.openclaw/plugin-runtime-deps/openclaw-*/ | head -1)
cd "$DEPS_DIR" && npm install node-llama-cpp@3.18.1 sqlite-vec

# 3. 重启 gateway
launchctl kickstart -k gui/$(id -u)/ai.openclaw.gateway

# 4. 等60秒冷启动后验证
sleep 60 && openclaw status

Tool List Maintenance

references/tools.json records the metadata of all tools. When adding a new tool, just add an entry to the JSON.

Scripts

scripts/check.sh — automated version check script, outputs results in JSON format for the skill to parse and generate a report.