Skip to main content

Module plugin

Module plugin 

Source
Expand description

Client CLI shellout for plugin installation (ADR-0008).

Plugins are installed by shelling out to each client’s native CLI:

  • Claude Code: claude plugin marketplace add + claude plugin install
  • Copilot CLI: copilot plugin marketplace add + copilot plugin install
  • VS Code: code --install-extension
  • opencode: opencode plugin

This module exposes typed install/uninstall functions per client. All functions return structured results (never write to stdout/stderr) and handle CLI-not-found gracefully per the warn-skip policy.

Enums§

PluginCheckResult
Result of checking whether a specific plugin is currently installed in the client. Used by doctor for plugin reconciliation.
PluginOutcome
Outcome of a plugin install or uninstall attempt.
PluginScope
Scope for Claude plugin installation, derived from upskill’s project/global flag.

Functions§

check_claude_plugin_installed
Check whether a Claude Code plugin is installed for the given scope.
check_opencode_plugin_installed
Check whether an opencode plugin is installed.
check_vscode_extension_installed
Check whether a VS Code extension is installed.
install_claude_plugin
Install a Claude Code plugin via claude plugin marketplace add followed by claude plugin install. The marketplace-add step is idempotent.
install_copilot_plugin
Install a GitHub Copilot CLI plugin via copilot plugin marketplace add followed by copilot plugin install. The marketplace-add step is idempotent. Unlike Claude, Copilot CLI does not support a --scope flag.
install_opencode_plugin
Install an opencode module via opencode plugin.
install_vscode_extension
Install a VS Code extension via code --install-extension.
is_cli_available
Returns true if the named CLI binary is available on PATH.
uninstall_claude_plugin
Uninstall a Claude Code plugin.
uninstall_copilot_plugin
Uninstall a GitHub Copilot CLI plugin.
uninstall_opencode_plugin
Uninstall an opencode module.
uninstall_vscode_extension
Uninstall a VS Code extension.