From dev-team
Check for and apply plugin updates using the official Claude Code plugin update mechanism.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dev-team:upgradeThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Role: worker. This command updates the dev-team plugin to the latest version and ensures its marketplace is set to auto-update going forward.
Role: worker. This command updates the dev-team plugin to the latest version and ensures its marketplace is set to auto-update going forward.
Arguments: none.
You have been invoked with the /upgrade command.
Read the installed plugin's plugin.json to get the current version:
claude plugin list
Parse the output to find dev-team and its current version. Also read the installed plugin.json directly:
~/.claude/plugins/cache/*/dev-team/*/.claude-plugin/plugin.json
Report:
Current version: dev-team v{version} (installed from {marketplace})
First, report the current auto-update status (enabled, disabled, or unknown):
python3 "${CLAUDE_PLUGIN_ROOT}/skills/upgrade/scripts/enable_autoupdate.py" --check
Then ask the user:
Auto-update for the
{marketplace}marketplace is currently {enabled/disabled}. Would you like to enable auto-update so future releases install automatically? (yes/no)
Wait for the user's answer before continuing. If they say yes, run the enable block below. If they say no, skip to step 3.
Enable block (run only if the user consents):
python3 "${CLAUDE_PLUGIN_ROOT}/skills/upgrade/scripts/enable_autoupdate.py" --enable
This sets extraKnownMarketplaces.<marketplace>.autoUpdate: true (project settings first, else the config-dir user settings, seeding the entry from the marketplace registry when needed). It is idempotent — re-running reports "already enabled". Report the one-line result to the user, then continue to step 3.
The same script backs the cloud bootstrap (
.claude/cloud-setup.sh,.claude/install-dev-team.sh), which runs--enablenon-interactively — one implementation of the flag, no duplication to keep in sync.
First, determine the install scope from claude plugin list output (the Scope: line for dev-team). It will be one of: user, project, local, managed.
claude plugin update --scope {scope} dev-team@{marketplace}
Where {scope} is the detected install scope (e.g., project) and {marketplace} is the marketplace name (e.g., bfinster). The --scope flag is required — the CLI defaults to user, which will fail if the plugin is installed at a different scope.
If the command succeeds with a version change, proceed to step 4.
Before concluding the update is broken or unnecessary, verify the catalog is current. An "already up to date" result or a failed update is often a stale marketplace catalog pinned behind the latest release — not a broken update mechanism. Diff the marketplace's pinned version against the latest published release before drawing a conclusion:
.claude-plugin/marketplace.json (and the plugin's .claude-plugin/plugin.json) against the latest release tag/commit of the marketplace repo.claude plugin update. Refresh the marketplace (re-add it, or wait for its catalog to update) and re-run /upgrade.If the output indicates already up to date:
Already running the latest version (v{version}).
Exit.
If the command fails, report the error and suggest:
Update failed. You can try a manual reinstall:
claude plugin uninstall dev-team@{marketplace} claude plugin install dev-team@{marketplace}
Exit.
Read the new plugin.json to verify the version changed:
claude plugin list
Report:
## Upgrade Complete
Previous: v{old_version}
Updated: v{new_version}
Restart Claude Code to apply the update.
claude plugin update command handles fetching, caching, and version managementextraKnownMarketplaces.<marketplace>.autoUpdate: true in settings.json (the same flag the /plugin UI toggles; there is no dedicated claude plugin CLI subcommand for it). With it on, routine releases land without running /upgrade.npx claudepluginhub bdfinst/agentic-dev-team --plugin dev-teamUpgrade the local claude-ops ("ops") plugin to the latest published version in one command — refresh the marketplace catalogue, update the installed plugin (with stale-cache force-reinstall fallback), reapply local cache patches, prune every old cache version, rewrite stale version-pinned paths, run per-version migrations, then prompt to reload. Use when the box is on an older plugin version, after a release, or when the cache looks stale.
Checks and updates CWF plugin across scopes to align with latest marketplace versions and fixes. Triggers: 'cwf:update', 'update cwf', 'check for updates'.
Compares installed plugin version with the latest available by reading the plugin registry and checking remote sources.