dependency-conflict-resolver
The dependency-conflict-resolver skill automatically detects and prevents package conflicts before installation across npm, yarn, pnpm, pip, poetry, cargo, and composer ecosystems. Use it when installing or upgrading packages to validate peer dependencies, check version compatibility, audit security vulnerabilities, and either auto-resolve safe conflicts like patch updates or flag breaking changes for manual review.
git clone --depth 1 https://github.com/marcusgoll/Spec-Flow /tmp/dependency-conflict-resolver && cp -r /tmp/dependency-conflict-resolver/.claude/skills/dependency-conflict-resolver ~/.claude/skills/dependency-conflict-resolverSKILL.md
<objective> Proactively detect and resolve dependency conflicts before package installation to prevent broken builds, security vulnerabilities, and version incompatibilities across JavaScript, Python, Rust, and PHP ecosystems. </objective> <quick_start> <workflow> **Pre-installation check workflow:** 1. **Detect package manager**: Identify ecosystem from lockfiles (package-lock.json, requirements.txt, Cargo.lock, composer.lock) 2. **Scan for conflicts**: Check peer dependencies, version ranges, transitive dependencies 3. **Security audit**: Run ecosystem-specific audit tools (npm audit, pip-audit, cargo-audit, composer audit) 4. **Analyze severity**: Classify conflicts by risk level (safe auto-fix, manual review, blocking) 5. **Present resolution**: Auto-apply safe fixes, suggest alternatives for breaking changes, block critical vulnerabilities with alternatives </workflow> <trigger_detection> **Auto-invoke when detecting these commands:** - `npm install`, `npm i`, `yarn add`, `pnpm add` - `pip install`, `poetry add` - `cargo add`, `cargo install` - `composer require`, `composer install` </trigger_detection> <quick_example> ```bash # User attempts: npm install react@18.0.0 # Skill detects: Peer dependency conflict with react-dom@17.0.0 [CONFLICT DETECTED] Package: react@18.0.0 Conflict: react-dom@17.0.0 requires react ^17.0.0 Risk: MEDIUM (breaking change) [RECOMMENDED ACTION] Option 1: Upgrade react-dom to ^18.0.0 (recommended) npm install react@18.0.0 react-dom@18.0.0 Option 2: Downgrade react to ^17.0.0 npm install react@17.0.0 [SECURITY CHECK] ✓ No known vulnerabilities in react@18.0.0 ✓ No known vulnerabilities in react-dom@18.0.0 ``` </quick_example> </quick_start> <workflow> <detection_phase> **1. Identify Package Manager and Context** Scan current directory for lockfiles and package manifests: - **JavaScript**: package.json + (package-lock.json | yarn.lock | pnpm-lock.yaml) - **Python**: requirements.txt | Pipfile | pyproject.toml + (Pipfile.lock | poetry.lock) - **Rust**: Cargo.toml + Cargo.lock - **PHP**: composer.json + composer.lock Extract: - Current dependency versions (from lockfile) - Requested package and version (from user command) - Version constraints (from manifest) </detection_phase> <conflict_analysis> **2. Analyze Dependency Conflicts** Check for conflicts in order of severity: **A. Peer Dependency Conflicts** - Compare requested version against peer dependency requirements - Identify which packages will be incompatible - Calculate semver compatibility ranges **B. Transitive Dependency Conflicts** - Build dependency graph of all transitive dependencies - Detect duplicate packages with incompatible versions - Identify shared dependencies requiring specific versions **C. Version Constraint Violations** - Validate against existing version constraints in manifest - Check for semver range compatibility (^, ~, >=, etc.) - Detect locked versions that prevent resolution **D. Platform/Runtime Conflicts** - Check Node.js, Python, PHP version requirements - Validate feature flags (Rust features) - Check platform-specific dependencies </conflict_analysis> <security_audit> **3. Security Vulnerability Scan** Run ecosystem-specific security audits: **JavaScript (npm/yarn/pnpm):** ```bash npm audit --json # Parse output for HIGH/CRITICAL vulnerabilities # Check: GHSA IDs, CVE numbers, severity scores ``` **Python (pip/poetry):** ```bash pip-audit --format json # Or: poetry audit --json # Parse PyPA Advisory Database results ``` **Rust (cargo):** ```bash cargo audit --json # Check RustSec Advisory Database # Identify RUSTSEC-YYYY-NNNN advisories ``` **PHP (composer):** ```bash composer audit --format json # Parse security advisories # Check for blocked insecure packages ``` For each vulnerability found: - Extract severity (LOW, MODERATE, HIGH, CRITICAL) - Identify patched versions - Find alternative packages if no patch available - Assess exploitability and context </security_audit> <resolution_strategy> **4. Classify Conflicts and Generate Resolutions** **Auto-resolve (apply without asking):** - Patch version updates (1.2.3 → 1.2.4) - Dev dependency conflicts with no production impact - Security patches within same minor version - Compatible semver range adjustments (^1.2.0 allows 1.2.4) **Suggest manual review (present options):** - Minor version updates (1.2.x → 1.3.x) - Production dependency conflicts - Peer dependency mismatches requiring upgrades - Multiple resolution paths with tradeoffs **Block with alternatives (prevent installation):** - Major version conflicts requiring breaking changes - Critical/High security vulnerabilities without patches - Incompatible platform/runtime requirements - Circular dependency deadlocks **Resolution output format:** ``` [CONFLICT TYPE] Brief description Package: package-name@requested-version Current: package-name@current-version Conflict: dependency-name requires version-constraint [IMPACT ASSESSMENT] Risk: LOW | MEDIUM | HIGH | CRITICAL Scope: dev-only | production | peer-dependency | transitive [RECOMMENDED ACTIONS] 1. [Primary recommendation with command] 2. [Alternative approach with tradeoffs] 3. [Fallback option if applicable] [SECURITY STATUS] ✓ No vulnerabilities | ⚠ Vulnerabilities found (details below) ``` </resolution_strategy> <execution_phase> **5. Execute Resolution** **For auto-resolvable conflicts:** 1. Generate updated install command with resolved versions 2. Execute installation with resolved dependencies 3. Verify lockfile updates 4. Log changes for review **For manual review conflicts:** 1. Present options with AskUserQuestion tool 2. Explain tradeoffs for each option 3. Execute user-selected resolution 4. Confirm successful installation **For blocking conflicts:** 1. Prevent installation 2. Display detailed error explanation 3. Suggest alternative packages or version ranges 4. Provide documentation links for further investigation </execution_phase> </workflow> <ecosystem_spe
Execute multiple sprints in parallel based on dependency graph from sprint-plan.md
Build and validate locally for projects without remote deployment (prototypes, experiments, local-only dev)
Execute multi-sprint epic workflow from interactive scoping through deployment with parallel sprint execution and self-improvement
Execute feature development workflow from specification through production deployment with automated quality gates
Analyze workflow state and provide context-aware guidance with visual progress indicators and recommended next steps
Initialize project documentation, preferences, or design tokens
Implement small bug fixes and features (<100 LOC) without full workflow. Use for single-file changes, bug fixes, refactors, and minor enhancements that can be completed in under 30 minutes.
Enter deep craftsman mode - question everything, plan like Da Vinci, craft insanely great solutions, then materialize to roadmap