Skip to content

Clarify catalog commands versus project and global installed skills #4

Description

@itsjling

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions