brewtools/skills/plugin-update/SKILL.md
Checks installed Claude Code plugins, installs missing brewcode plugins, updates outdated ones, reports versions. Triggers - "update plugins", "check plugin versions", "обнови плагины", "установить бриукод", "plugin update", "marketplace update".
npx skillsauth add kochetkov-ma/claude-brewcode brewtools:plugin-updateInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Check, install, and update the brewcode plugin suite (brewcode, brewdoc, brewtools, brewui). Executes all commands in the current Claude Code session — never gives "you should run" instructions.
Skill arguments received: $ARGUMENTS
| Arg | Behavior |
|-----|----------|
| (empty) | Interactive — all 6 phases with AskUserQuestion gates |
| check | Phases 0-2 only (status table), no prompts |
| update | Phases 0-4, non-interactive "Update all" |
| all | Phases 0-6 non-interactive |
Parse the first token of $ARGUMENTS. Unknown or empty → interactive.
claude plugin ... command in THIS session via Bash tool. Show full output.claude plugin list — that subcommand does not exist. Use scripts/discover-plugins.sh.--plugin-dir for end users (dev-only).EXECUTE using Bash tool:
bash "${CLAUDE_SKILL_DIR}/scripts/discover-plugins.sh" && echo "✅ discover OK" || echo "❌ discover FAILED"
STOP if ❌ — inspect stderr, fix script, retry once. If still fails, report to user and continue without installed data (treat everything as missing).
Parse the JSON output. Partition into:
suite = {brewcode, brewdoc, brewtools, brewui}other = everything elseRead references/discovery.md if you need details on how discovery works.
EXECUTE using Bash tool:
bash "${CLAUDE_SKILL_DIR}/scripts/fetch-latest-versions.sh" && echo "✅ fetch OK" || echo "❌ fetch FAILED"
STOP if ❌ — report network issue, mark latest versions as "unknown", continue.
Merge with Phase 0 data.
Render markdown table to the user:
| Plugin | Installed | Latest | Status | |--------|-----------|--------|--------| | brewcode | 3.4.51 | 3.4.52 | ⬇️ update | | brewdoc | 3.4.51 | 3.4.51 | ✅ current | | brewtools | — | 3.4.51 | ❌ missing | | brewui | 3.4.51 | 3.4.51 | ✅ current |
Status legend: ✅ current, ⬇️ update available, ❌ missing, ❓ unknown.
Also list other plugins below with their versions (informational).
If arg = check → STOP here. Skip to Phase 6.
Precheck command availability:
claude plugin details --help >/dev/null 2>&1 && echo "available" || echo "skip"
If unavailable → SKIP this phase entirely (proceed to Phase 3).
If available, for each installed suite plugin run:
claude plugin details <plugin>@claude-brewcode
Parse output and render a token-cost table to the user:
| Plugin | Base Tokens | With Skills | Hooks | Total | |--------|-------------|-------------|-------|-------| | brewcode | ... | ... | ... | ... | | brewdoc | ... | ... | ... | ... | | brewtools | ... | ... | ... | ... | | brewui | ... | ... | ... | ... |
Column names depend on actual claude plugin details output fields — adapt accordingly. If a field is missing, render —. If the command fails for a specific plugin, render ❓ for that row and continue.
Phase is informational only; do not block on errors.
For each missing suite plugin, ask the user via AskUserQuestion (unless arg ∈ {update, all}, then skip installation or auto-install only for all).
AskUserQuestion (only in interactive mode, only if missing plugins exist):
Question: "Install missing brewcode plugins?" Options:
If "Install selected" — ask per plugin with options ["Install", "Skip"].
EXECUTE (idempotent — re-adding marketplace is safe):
claude plugin marketplace add https://github.com/kochetkov-ma/claude-brewcode && echo "✅ marketplace add OK" || echo "⚠️ marketplace add warning (may already exist)"
Then for each plugin to install:
claude plugin install <plugin>@claude-brewcode && echo "✅ install <plugin> OK" || echo "❌ install <plugin> FAILED"
Show full output of each command to the user.
Reference prompt for multi-command recovery: references/install-prompt.md.
AskUserQuestion (only interactive; update and all auto-pick "Update all"):
Question: "Update brewcode plugin suite?" Options:
EXECUTE full chain in order, showing output of each:
claude plugin marketplace update claude-brewcode && echo "✅ marketplace update OK" || echo "❌ marketplace update FAILED"
claude plugin update brewcode@claude-brewcode && echo "✅ brewcode update OK" || echo "❌ brewcode update FAILED"
claude plugin update brewdoc@claude-brewcode && echo "✅ brewdoc update OK" || echo "❌ brewdoc update FAILED"
claude plugin update brewtools@claude-brewcode && echo "✅ brewtools update OK" || echo "❌ brewtools update FAILED"
claude plugin update brewui@claude-brewcode && echo "✅ brewui update OK" || echo "❌ brewui update FAILED"
If any step fails, report exact error and continue with remaining steps. Reference: references/update-commands.md, references/update-prompt.md.
Skip for arg ∈ {check, update}. Only interactive or all.
Per Claude Code docs, third-party marketplace auto-update is OFF by default and toggled per-marketplace via /plugin UI → Marketplaces → claude-brewcode. The exact settings.json key is unverified — see references/autoupdate-research.md.
AskUserQuestion (interactive only):
Question: "Enable auto-update for claude-brewcode marketplace?" Options:
/plugin → Marketplaces → claude-brewcode → toggle auto-updateDo NOT patch settings.json blindly — the key is unverified. Tell the user to toggle via /plugin UI.
EXECUTE using Bash tool:
claude plugin prune --help >/dev/null 2>&1 && claude plugin prune || echo "skipped: claude plugin prune unavailable"
Cleans stale plugin caches left behind by older versions. Non-fatal: if the CLI lacks prune, the || fallback prints a skip notice and continues.
ALWAYS print the contents of references/reload-notice.md:
⚠️ Reload plugins to activate updates. Preferred: run
/reload-pluginsin this session. Fallback: typeexit, then runclaudeagain.
Then print a final summary:
Done.
<!-- W3-T8 research note: Marketplace auto-update settings.json key not confirmed in CC docs as of 2026-05-12. Continue using UI guidance. Re-investigate when CC adds documented marketplace.autoUpdate setting. -->devops
Publish content to brewpage.app — text, markdown, any file, or multi-file site. Asks namespace and password, returns public URL. Triggers: publish, share link, upload to brewpage, host page, brewpage, publish site, upload site, upload directory, deploy site, сделай публичную ссылку, опубликуй.
tools
Toggles terse-output mode for Claude Code - injects brief directives into main conversation (SessionStart) and sub-agent prompts (PreToolUse:Task) to cut preamble and filler. Profiles: light, medium, aggressive. Scope: global or project (project overrides). Triggers: think-short, be terse, think shorter, reduce tokens mode, level 1/2/3.
devops
Publish content to brewpage.app — text, markdown, JSON, file, or multi-file site. Asks namespace and password, returns public URL. Triggers: publish, share link, upload to brewpage, host page, brewpage, publish site, upload site, upload directory, deploy site, сделай публичную ссылку, опубликуй.
tools
Disables or enables individual plugin skills by writing skillOverrides to ~/.claude/settings.json (survives plugin updates). Modes: off, user-invocable-only, name-only. Triggers: disable skill, enable skill, toggle skill, hide skill, skill-toggle.