feat(cli): add generic user-level install target#585
Conversation
Signed-off-by: betterlmy <betterlmy@icloud.com>
61a1155 to
8b84201
Compare
Code review summaryReviewed head: Verdict: not merge-ready yet. The main path is sound, but there is one reproducible correctness blocker. Blocking finding — canonical target aliases can partially install and then fail
Reproduction:
The command reports failure after mutating the filesystem and inventory, leaving a partial-success state. I reproduced this with real symlinked directories. Suggested fix:
Non-blocking follow-ups
Verification
Once canonical target deduplication is fixed and covered, this should be ready for re-review. |
|
Additional note: the CLI already supports a fully custom installation path through For example: skillhub install <slug> --dir ~/.agents/skills
|
Signed-off-by: betterlmy <betterlmy@icloud.com>
Yes, my current recommendation internally is to use the |
Thanks for the review. Addressed in f519b08:
Local verification: 340 tests passed; typecheck, ESLint, build, and git diff --check passed. |
FenjuFu
left a comment
There was a problem hiding this comment.
LGTM — the generic target is correctly gated to interactive user scope, realpath-based dedupe handles symlinked skill dirs, and the resolver/install-service tests cover both the standalone and combined selection paths.
Summary
generictarget in the interactive user-scope install selector.~/.agents/skills.~/.codex/skillsand~/.claude/skills.--agent, custom--dir, JSON, and non-interactive behavior unchanged.This builds on the user/project installation flow introduced in #440 and the interactive target selection behavior refined in #534.
Previously, when one or more user-level Agent directories already existed, the interactive selector only displayed those detected directories. Users who wanted the shared
~/.agents/skillsdirectory had to cancel the prompt and run the command again with an explicit--dirargument. Makinggenericavailable in the selector keeps that workflow discoverable and avoids requiring a manual path override.Validation
Commands run:
Results:
Risk
generic (~/.agents/skills). Existing detected Agent targets remain available and retain their current behavior.Notes
~/.agents/skillsfallback.~/.agents/skillsas the user-level fallback path, but it does not yet describe this selector behavior.