feat(skills): add skills-update, drive install from SKILLS.txt

Merged
SH
3mo ago
+32-8

What

  • make skills-install now regenerates skills-lock.json from SKILLS.txt before installing (when the global CLI lock exists) and re-locks after installing, so adding a skill is: edit SKILLS.txt -> make skills-install -> commit both files. SKILLS.txt is the single source of truth; the lock is a derived artifact.
  • New make skills-update: runs bun x skills update --global --yes then refreshes the lock.
  • Docs updated (README, rules/skills-management.md).

Fresh machines are unaffected: with no global CLI lock present, skills-install skips regeneration and restores straight from the committed lock (and re-locks at the end once the CLI has created the global lock).

Testing

Removed a skill via the CLI, edited nothing, ran a single make skills-install: the pre-install lock regen flagged it (555 skills, 1 not yet installed), reinstalled it, and the post-install re-lock resolved its skillFolderHash. Exit 0.

🤖 Generated with Claude Code


Summary by cubic

Made SKILLS.txt the source of truth for external skills installs and added make skills-update to refresh installed skills and the lock. This streamlines add/update workflows while keeping fresh machine restores unchanged.

  • New Features

    • skills-install installs from SKILLS.txt and auto-regenerates skills-lock.json before/after when SKILLS_GLOBAL_LOCK exists; skips regen on fresh machines.
    • skills-update runs bun x skills update --global --yes and then refreshes the lock.
  • Migration

    • Add: edit SKILLS.txt, run make skills-install, commit SKILLS.txt and skills-lock.json.
    • Remove: delete from SKILLS.txt, run bunx skills remove <name> --global --yes, then make skills-lock.
    • Restore (fresh machines/CI): run make skills-install to install from the committed lock.