This was generated by AI during triage.
Problem
The CLI does not make the distinction between the shared catalog and installed skills clear. The main use case raised here is syncing global skills between environments.
Running viblib list --global fails with error: unknown option '--global'. The expectation was that list could select global or project scope, as install, uninstall, and sync do.
Current behavior
add, remove, list, and category manage the shared catalog at ~/.viblib/catalog.json, or the location set by VIBLIB_HOME. They do not accept --global.
list shows catalog entries, not installed skills.
install, uninstall, and sync manage installed skills. They default to project scope and accept --global.
- The catalog is shared regardless of the current working directory. Installation scope is a separate choice.
What the discussion established
The initial idea was to make global scope the default. That remains an undecided idea; there is no commitment to change the defaults.
The later request to support --global on other commands exposed a broader naming problem. Accepting the flag without changing what catalog commands do would not address the expectation that list --global shows globally installed skills.
This issue now tracks how to make catalog commands and installed-skill commands clear. It is not ready for implementation yet.
Proposed direction, not yet agreed
Group catalog operations under viblib catalog, and use list for installed skills:
viblib catalog add <source>
viblib catalog list
viblib catalog remove <skill>
viblib list # Installed project skills
viblib list --global # Installed global skills
Under this proposal, install, uninstall, and sync keep their current scope behavior. Category commands would belong with catalog operations.
Open choices
- Adopt this command split, or choose another way to make the distinction clear.
- Decide how to preserve or retire existing catalog command names, especially the current meaning of
list.
- Define installed-list output and filters, including how to show skills that are not in the catalog.
No command redesign or default-scope change has been approved. Settle these choices before creating implementation tickets.
Problem
The CLI does not make the distinction between the shared catalog and installed skills clear. The main use case raised here is syncing global skills between environments.
Running
viblib list --globalfails witherror: unknown option '--global'. The expectation was thatlistcould select global or project scope, asinstall,uninstall, andsyncdo.Current behavior
add,remove,list, andcategorymanage the shared catalog at~/.viblib/catalog.json, or the location set byVIBLIB_HOME. They do not accept--global.listshows catalog entries, not installed skills.install,uninstall, andsyncmanage installed skills. They default to project scope and accept--global.What the discussion established
The initial idea was to make global scope the default. That remains an undecided idea; there is no commitment to change the defaults.
The later request to support
--globalon other commands exposed a broader naming problem. Accepting the flag without changing what catalog commands do would not address the expectation thatlist --globalshows globally installed skills.This issue now tracks how to make catalog commands and installed-skill commands clear. It is not ready for implementation yet.
Proposed direction, not yet agreed
Group catalog operations under
viblib catalog, and uselistfor installed skills:Under this proposal,
install,uninstall, andsynckeep their current scope behavior. Category commands would belong with catalog operations.Open choices
list.No command redesign or default-scope change has been approved. Settle these choices before creating implementation tickets.