update-machinelisted
Install: claude install-skill eprouveze/claude-skills
# /update-machine — Machine Package Update & Upgrade
Updates package managers on macOS (Homebrew, npm globals, pipx, uv) or Linux (APT, npm globals, pipx, uv), either locally or dispatched across the fleet via SSH. The shape is always the same:
survey → safe upgrades → trap guards → report → confirm disruptive casks / reboots.
On **macOS**, it targets **Homebrew** (formulae + casks), **npm** globals, and optional **pipx** / **uv** tools.
On **Linux** (Debian/Ubuntu), it targets **APT** (`apt-get upgrade`), **npm** globals, and optional **pipx** / **uv** tools.
Every step that touches optional managers is guarded with `command -v`.
## 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.
- **Check headroom before downloading gigabytes.** A full disk doesn't fail loudly — it
*corrupts* installs mid-write (see Step 0). Never start upgrades on a near-full volume.
## Step 0 — Preflight: disk space (gate, do this first)
`brew upgrade`