dependency-resolver
Installation
SKILL.md
Dependency Resolver
Dependency conflicts are a constraint satisfaction problem. The manifest is a set of version constraints; the resolver tries to pick one version per package that satisfies all of them. When it can't, you have to change a constraint.
Conflict types
| Conflict | Symptom | Root cause |
|---|---|---|
| Diamond | A needs X@2, B needs X@1, you need A and B | Transitive deps disagree on a shared dep |
| Upper-bound collision | A needs X<3, you need X>=3 | A pinned too tightly, hasn't updated |
| Peer dep mismatch | npm: "X@2 requires peer Y@^1 but Y@2 is installed" | Peer deps — caller must provide, and did wrong |
| Cycle | A depends on B depends on A | Bad package design (rare in published pkgs, common in monorepos) |
| Yanked / missing | Version in lockfile no longer on registry | Upstream pulled it (security or mistake) |
Step 1 — See the full tree
Before fixing, understand. Every ecosystem has a tree command: