lockfile-doctorlisted
Install: claude install-skill Starr-del/deploy-preflight
# lockfile-doctor
Part of **deploy-preflight** — offline deploy-safety skills. Every script is stdlib-only Python 3.8+; nothing leaves the machine.
```bash
python3 scripts/lockfile_doctor.py <project_root> [--json]
```
Checks: multiple coexisting lockfiles (platform picks one, devs use another), missing lockfile entirely, `packageManager` field disagreeing with the committed lockfile, missing `engines.node`, and fragile dependency specs — git branches, `file:` paths that won't exist on the build machine, and `*`/`latest` wildcards.
The mental model to give the user: **a deploy is reproducible only if the same package manager, same Node version, and same lockfile produce the same node_modules everywhere.** Each finding is one of those three legs broken.
When MULTIPLE_LOCKFILES fires, help the user pick ONE manager (whichever the team actually uses), delete the other lockfiles, and gitignore them so they don't return.
Exit codes: 0 clean, 1 findings.
All paths below are relative to this skill's directory (lockfile-doctor/).