feat(skills): add --force/-f to skills install to reinstall installed skills#17
Merged
Merged
Conversation
…ed skills `clime skills install <repo>` filters out already-installed skills from the selection picker, so there is no way to reinstall/refresh a skill you already have (short of `uninstall` then `install`). The interactive "Update installed skills" action exists but isn't reachable from the `install <repo>` command directly. Add `--force`/`-f`: when installing from a repo, already-installed skills are kept in the picker (marked `(reinstall)`) instead of being filtered out, and reinstalling overwrites their files. Non-force behavior and the interactive source menu are unchanged. The candidate-filtering logic is extracted into a pure `selectInstallCandidates` helper and unit-tested for both default and force modes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
git-hulk
approved these changes
Jul 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
clime skills install <owner/repo>filters already-installed skills out of the selection picker (installFromRepo), so there's no way to reinstall/refresh a skill you already have from that command — you have touninstallit first, theninstalland re-pick it.The interactive
Update installed skillsaction does exist, but it's only reachable by runningclime skills installwith no args and drilling into the source→action menu; it isn't available directly frominstall <repo>.Change
Add
--force/-ftoskills install:(reinstall)) instead of being filtered out, and installing overwrites their files.--force, behavior is unchanged (installed skills are still filtered).runSkillsSourceActionsignatures are untouched, so existing interactive tests are unaffected.Implementation notes
installFromRepointo a pureselectInstallCandidates(repoSkills, manifest, force)helper so the force branch is unit-testable without the network/git path.installFiles(writes files in place) andManifest.AddSkill(upsert by name), so no duplicate manifest entries.Tests
New
cmd/skills_force_test.go:--forcekeeps installed skills and marks them(reinstall), without mislabelling not-installed ones;go build ./...,go vet ./..., andgo test ./...all pass. Also verified end-to-end against a real repo:install <repo> -fnow lists the installed skills (marked(reinstall)) that plaininstall <repo>hides.🤖 Generated with Claude Code