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:
bash install/skills-sync.sh checkAfter 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.