Dependency Conflict Resolver Skill
Untangle "could not resolve dependency" hell into a clear, ranked plan.
Working from a brief
Infer the package manager and ecosystem from the error or files mentioned; label assumptions (assumed — confirm). Always deliver a concrete resolution path even from just the error text.
Input
Ask for these if not provided:
- The install error — the conflict output exactly as the tool printed it
- The manifest — package.json, requirements.txt, go.mod, pom.xml, whichever applies
- The lockfile — if one exists, since it is usually where the conflict is pinned
- The package manager — npm, pnpm, yarn, pip, Maven, Go modules; infer what's missing
Output Structure
The conflict
Plain-English: package A needs X of C, package B needs Y of C, and they can't both be satisfied (name the actual packages/versions from the input).
Options (ranked by safety)
- Safest — e.g. align versions, upgrade the constrained package, or find a compatible range. Exact command.
- Pragmatic — e.g. an override/resolution (
overrides, resolutions, constraints file) with the exact snippet — and the risk it carries.
- Last resort — e.g.
--legacy-peer-deps / --force — clearly flagged as masking the problem, not fixing it.
Give the exact commands/edits for each, and a recommendation of which to pick and why.
Verify & prevent
How to confirm the fix (npm ls <pkg>, a clean reinstall, the build), and one habit to avoid recurrence (lockfile committed, renovate/dependabot, version pinning policy).
Quality Checks
Anti-Patterns
1---2name: dependency-conflict-resolver3description: Resolve a dependency or version conflict (npm, pip, yarn, pnpm, Maven, Go modules) step by step. Use when an install fails with peer-dependency or version-conflict errors, packages won't co-exist, or a lockfile is fighting you. Produces the conflict explained, the resolution options ranked by safety, exact commands, and how to keep it from recurring.4---5
6# Dependency Conflict Resolver Skill
7
8Untangle "could not resolve dependency" hell into a clear, ranked plan.
9
10## Working from a brief
11
12Infer the package manager and ecosystem from the error or files mentioned; label assumptions *(assumed — confirm)*. Always deliver a concrete resolution path even from just the error text.
13
14## Input
15
16Ask for these if not provided:
17- **The install error** — the conflict output exactly as the tool printed it
18- **The manifest** — package.json, requirements.txt, go.mod, pom.xml, whichever applies
19- **The lockfile** — if one exists, since it is usually where the conflict is pinned
20- **The package manager** — npm, pnpm, yarn, pip, Maven, Go modules; infer what's missing
21
22## Output Structure
23
24### The conflict
25Plain-English: package **A** needs X of **C**, package **B** needs Y of **C**, and they can't both be satisfied (name the actual packages/versions from the input).
26
27### Options (ranked by safety)
281. **Safest** — e.g. align versions, upgrade the constrained package, or find a compatible range. Exact command.
292. **Pragmatic** — e.g. an override/resolution (`overrides`, `resolutions`, constraints file) with the exact snippet — and the risk it carries.
303. **Last resort** — e.g. `--legacy-peer-deps` / `--force` — clearly flagged as masking the problem, not fixing it.
31
32Give the exact commands/edits for each, and a recommendation of which to pick and why.
33
34### Verify & prevent
35How to confirm the fix (`npm ls <pkg>`, a clean reinstall, the build), and one habit to avoid recurrence (lockfile committed, renovate/dependabot, version pinning policy).
36
37## Quality Checks
38
39- [ ] Names the actual conflicting packages and versions from the input
40- [ ] Options are ranked by safety with the trade-off of each stated
41- [ ] `--force`/`--legacy-peer-deps`-style escapes are flagged as masking, not fixing
42- [ ] Includes a verification step
43
44## Anti-Patterns
45
46- [ ] Do not lead with `--force` / `--legacy-peer-deps` — it hides the conflict and breaks later
47- [ ] Do not delete the lockfile as the first move — explain what that actually does
48- [ ] Do not give a single fix when several are viable — rank them with trade-offs
49- [ ] Do not skip verifying the resolution actually installs/builds