fix-dep-vulns
Installation
SKILL.md
Fix dependency vulnerabilities
The goal is a healthier dependency tree, not a quiet audit.
An override clears a finding in one line, which is why it's the tempting first move. It also pins a version in place, can force a major version a parent never declared, and quietly blocks the next fix. Most findings have a better fix. Treat overrides as the last option, not the first.
Before you start
- Detect the ecosystem from the lockfile:
pnpm-lock.yaml: pnpm.uv.lock: uv.requirements*.txtor apyproject.tomlwith nouv.lock: pip.Cargo.lock: Cargo.- None of these: tell the user which ecosystems this skill covers and ask whether to adapt the same ladder to theirs.
- Read exactly one ecosystem file: references/pnpm.md, references/python.md, or references/cargo.md. It holds every command used below, under the headings named in italics (Investigating, Fixing, Overrides, Dismissals, Release age).
references/report.mdis used later in steps 3d and 6. - List existing overrides. pnpm:
overridesinpnpm-workspace.yaml. On pnpm 11+, entries underpnpm.overridesorpatchedDependenciesinpackage.jsonare ignored (pnpm warns "Thepnpmfield in package.json is no longer read"); flag them for removal or migration topnpm-workspace.yaml. uv:override-dependenciesandconstraint-dependenciesunder[tool.uv]. pip:constraints.txt. Cargo:[patch]and[replace]in the rootCargo.tomland.cargo/config.toml, plus exact=pins on direct dependencies. Existing overrides are a common cause of findings. An exact pin added for an old advisory holds the package below a newer fix.