strayslisted
Install: claude install-skill lkc-studio/claude-plugins
# Strays: processes that outlived what started them
## Read this first
> **When several unrelated things start failing at once, the cause is almost
> never several unrelated bugs. It is one shared resource.**
CPU, memory, disk, file descriptors, ports, a lock. Check the shared resource
*before* debugging any individual failure.
This matters more for an agent than for a person, because the instinctive
response to a timeout — retry it — spawns another process and makes the real
problem worse. Two retries of a hung test suite is two more permanent CPU
burners.
## The symptom
Failures that arrive together and make no sense individually:
- commands that worked five minutes ago now time out
- tests fail with no code change, differently each run
- builds hang partway with no error
- `port already in use` when nothing should be listening
- background tasks report failure with empty output
The tell is **breadth**. One flaky test is a flaky test. Six unrelated things
failing in ten minutes is a machine problem.
## Step 1: look at load before looking at code
```bash
scripts/strays.py
```
The first line is the one that matters:
```
load 69.90 / 4 cores -- OVERLOADED -- almost everything will fail or hang
```
Load is the number of processes wanting CPU. Compare it against core count, not
against zero:
| load ÷ cores | Meaning |
| --- | --- |
| under 0.7 | healthy |
| 0.7 – 1.5 | busy, normal under a build |
| 1.5 – 4 | saturated; unrelated commands start timing out |
| ove