linux-freeze-triagelisted
Install: claude install-skill jajupmochi/agent-harness
# /linux-freeze-triage
Find the real cause of a Linux freeze / black-screen by evidence, not by guessing from the symptom.
## Master TOC
- [Core discipline](#core-discipline)
- [Step 0: capture before you guess](#step-0-capture-before-you-guess)
- [Step 1: rule out sleep/suspend](#step-1-rule-out-sleepsuspend)
- [Step 2: read the freeze moment](#step-2-read-the-freeze-moment)
- [The usual suspects (ranked)](#the-usual-suspects-ranked)
- [Recovery without losing work](#recovery-without-losing-work)
- [Bundled scripts](#bundled-scripts)
- [War story](#war-story)
## Core discipline
- Do NOT commit to a hypothesis from the symptom alone. A blinking power LED is NOT proof of sleep (it is usually the monitor's no-signal standby). "Happens after idle" is NOT proof of a DPMS/suspend bug.
- Instrument and CAPTURE the next occurrence; let evidence pick the cause.
- A log-churning service (e.g. a unit crash-looping every ~2s) rotates journald so fast that the real freeze logs roll off — find and fix it first, or you will never see the evidence.
- Same failure on BOTH Xorg and Wayland => the cause is BELOW the display server (driver/kernel/hardware); do not blame the compositor.
## Step 0: capture before you guess
Run `diagnose.sh` (read-only battery). Arm `freeze-watch.sh` (near-zero-cost: nice 19 / ionice idle / 60s) so the NEXT freeze is recorded — its last log line is the state at death:
- `NVSMI_FAIL` => GPU fell off the bus / driver broken.
- `DRIVER_MISMATCH ... REBOOT-NEEDED`