update-machinelisted
Install: claude install-skill eprouveze/claude-skills
# /update-machine — Machine Package Update & Upgrade
Updates the package managers on the current Mac. The shape is always the same:
survey → safe upgrades → trap guards → report → confirm the disruptive casks.
It targets **Homebrew** (formulae + casks), **npm** globals, and — when they're installed —
**pipx** and **uv** tools. The Python managers are optional: every step that touches them is
guarded with `command -v`, so the skill runs cleanly on a machine that only has Homebrew + npm.
## Principles
- **Survey before mutating.** Always list what's outdated first and show it.
- **Parallelize independent managers.** brew / npm / pipx+uv don't depend on each other —
run them as concurrent background jobs.
- **Run long upgrades in the background** (`run_in_background: true`), never blocking foreground.
- **Never auto-update session-critical casks.** The terminal running this session and the
VPN must be confirmed by the user — updating them mid-session restarts the terminal or
drops connectivity.
- **Verify, don't assume.** After upgrades, re-check `outdated` and the known traps.
## Step 1 — Survey (parallel, read-only)
Run these concurrently and show the user the combined picture. The `command -v` guards make
the optional managers no-ops when they aren't installed:
```bash
# Homebrew
brew --version && brew outdated # formulae + non-greedy casks
brew outdated --greedy --cask # auto-update casks (held by default)
# npm glo