You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
install_skills.py: the failed-hash rollback runs skills remove without -a, so it can delete another agent's same-named skill #405
line 196, the rollback when installed content does not match the pinned hash or tree: run_skills_bin(skills_bin, ["remove", name, "-g", "-y"], ...)
In skills v1.7.0, remove without -a/--agent selects every known agent and recursively removes the matching skill directories (upstream src/remove.ts#L209, confirmed against the pinned 1.7.0 cli.mjsremoveCommand/parseRemoveOptions). A failed-hash rollback can therefore delete a same-named skill that another agent owns (for example Cursor's), which this installer never installed. That breaks adoption/lifecycle.md:100: "Never uninstall all user tools to roll back one package."
Suggested fix: scope the rollback exactly like the install: ["remove", name, "-g", "-y", "-a", "claude-code", "codex"]. -a must come last, because the parser consumes the trailing words as agent names. Add a unit test that asserts remove carries the same -a list as add.
Related: #391 (its rollback text now uses the scoped form), docs/decisions/2026-09-25-skills-trial-and-usage.md:43.
Activity
#405: re-register the two changed files in manifests/evidence.json
install_skills.py: scope the failed-hash rollback to the installed ag…
#405: re-register the two changed files in manifests/evidence.json
install_skills.py: scope the failed-hash rollback to the installed ag…