Skip to content

Skill upgrade reports both “up to date” and committed-digest drift

Source: Troubleshooting reference

Symptom: the skills updater says global skills are current, then install/skills-sync.sh reports content differs from committed digest.

Root cause: the mutable installer receipt and committed review digest serve different purposes. A legitimate upstream update advances the receipt, while the committed digest stays unchanged until the new content is reviewed. Local trees that differ from their installer receipt are preserved instead.

Confirm with the read-only audit:

Terminal window
bash install/skills-sync.sh check

After reviewing the changed skill trees, refresh the review baseline with bash install/skills-sync.sh lock. Do not use npx skills check for this; it updates installed content. Self-installed skills must declare their own force flag. The glab row uses --force, because glab skills install otherwise refuses an existing file but exits successfully.