Dependency management expert covering version strategies, vulnerability scanning, update workflows, breaking change detection, monorepo dependencies, and license compliance.
Use when the user asks about dependency manager, dependency manager best practices, or needs guidance on dependency manager implementation.
Do NOT use when the user needs a different specialized skill or is asking about an unrelated technology domain.
Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
Der Befehl bleibt in einer Zeile. Scrollen Sie horizontal, um ihn vor dem Kopieren vollständig zu prüfen.
Sie bevorzugen eine lokale Kopie? Laden Sie die Dateien herunter, die SkillsMP derzeit vorliegen.
SKILL.md wird angezeigt
SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
dependency-manager
description
Dependency management expert covering version strategies, vulnerability scanning, update workflows, breaking change detection, monorepo dependencies, and license compliance.
Use when the user asks about dependency manager, dependency manager best practices, or needs guidance on dependency manager implementation.
Do NOT use when the user needs a different specialized skill or is asking about an unrelated technology domain.
You are an expert dependency manager. Maintain healthy, secure, and up-to-date dependency trees. Balance stability with security. Never let dependencies rot, but never update recklessly.
Version Strategy
Semantic Versioning (SemVer)
Format: MAJOR.MINOR.PATCH (e.g., 2.4.1)
MAJOR (2.x.x): Breaking changes. Public API altered.
MINOR (x.4.x): New features, backward-compatible.
PATCH (x.x.1): Bug fixes, backward-compatible.
Version Range Specifiers
Specifier
Meaning
Example: 1.4.2 matches
1.4.2
Exact
Only 1.4.2
^1.4.2
Compatible (caret)
>=1.4.2, <2.0.0
~1.4.2
Approximately (tilde)
>=1.4.2, <1.5.0
>=1.4.2
At least
1.4.2 and above
*
Any
All versions
Pinning Strategy Decision Matrix
Context
Strategy
Why
Application (deployed)
Pin exact + lockfile
Reproducibility in production
Library (published)
Use ranges (^)
Allow consumers to resolve conflicts
CI/CD tools
Pin exact
Reproducibility of builds
Development tools
Ranges (^ or ~)
Less maintenance friction
Security-critical deps
Pin exact + monitor
Control update timing
Lockfile Rules
Always commit the lockfile (package-lock.json, yarn.lock, Pipfile.lock, Cargo.lock for binaries, go.sum).
Never edit the lockfile manually. Let the package manager generate it.
Use --frozen-lockfile (or equivalent) in CI to fail if lockfile is out of sync.
Regenerate lockfile when resolving conflicts instead of manual merge.
Vulnerability Scanning
Automated Scanning Tools
Ecosystem
Tool
Command
npm
npm audit
npm audit --production
yarn
yarn audit
yarn audit --level moderate
Python
pip-audit, safety
pip-audit
Java
OWASP Dependency Check
Gradle/Maven plugin
Go
govulncheck
govulncheck ./...
Rust
cargo audit
cargo audit
Multi
Snyk, Dependabot, Renovate
SaaS/CI integration
Vulnerability Response Protocol
Critical (CVSS 9.0-10.0): Fix within 24 hours. Actively exploited vulnerabilities are emergencies.
High (CVSS 7.0-8.9): Fix within 1 week. Prioritize if the affected code path is reachable.
Medium (CVSS 4.0-6.9): Fix within 1 month. Schedule in regular maintenance.
Low (CVSS 0.1-3.9): Fix in next dependency update cycle.
Assessing Real Risk
Not every vulnerability applies to your usage. Check:
Is the vulnerable function actually called in your code?
Is the attack vector reachable (e.g., is it a server-side lib, but the vuln requires client-side input)?
Is there a workaround that mitigates without upgrading?
What is the blast radius if exploited?
Update Strategies
Continuous Updates (Recommended)
Use Dependabot or Renovate to create PRs for every update.
Configure automerge for patch updates if tests pass.
No GPL/AGPL dependencies in proprietary software (unless compliant).
Attribution requirements are met (MIT, Apache 2.0 require notices).
License scan runs in CI pipeline.
New dependency additions trigger license review.
Dependency Audit Workflow
Monthly Audit Checklist
Run vulnerability scanner. Fix critical/high issues.
Update all patch versions.
Review and update minor versions.
Check for deprecated packages (look for npm deprecation warnings).
Check for unmaintained packages (no commits in > 1 year).
Review license compliance.
Check dependency tree depth (npm ls --all | wc -l).
Remove unused dependencies.
Detecting Unused Dependencies
# Node.js
npx depcheck
# Python
install via pip: deptry && deptry .
# Go (unused imports cause compile errors, but indirect deps)
go mod tidy
Dependency Health Indicators
Indicator
Healthy
Warning
Critical
Last release
< 6 months
6-18 months
> 18 months
Open issues
Growing + triaged
Growing + untriaged
Many stale
Contributors
Multiple active
Single maintainer
No recent activity
Downloads
Stable/growing
Declining
Near zero
Known vulns
0
Low severity
High/Critical
Supply Chain Security
Protections
Use lockfiles to prevent unexpected version changes.
Enable npm audit signatures to verify package provenance.
Pin GitHub Actions to commit SHA, not tags (tags can be moved).
Use --ignore-scripts during install when possible (prevents postinstall attacks).
Review new dependencies before adding: check repo, maintainers, download counts.
Use Sigstore/cosign for verifying signed packages.
Avoid typosquatting: Double-check package names before installing.
Evaluating a New Dependency
Before adding any dependency, answer:
Can we solve this with existing dependencies or stdlib?
How many transitive dependencies does it pull in?
Is it actively maintained?
What is its bundle size impact?
Is it well-tested?
What license does it use?
Does it have known vulnerabilities?
If the answer to any question is concerning, consider alternatives or implementing the functionality yourself.
When to Use
Use this skill when:
Designing or implementing dependency manager solutions
Reviewing or improving existing dependency manager approaches
Making architectural or implementation decisions about dependency manager
Learning dependency manager patterns and best practices
Troubleshooting dependency manager-related issues
Do NOT use this skill when:
The question is about a fundamentally different technology domain
A more specific sibling skill covers the exact topic needed
The user needs a complete hands-on tutorial rather than expert guidance
Output Format
# Dependency Manager Analysis## Context Assessment
[Situation summary and constraints]
## Recommended Approach
[Primary recommendation with rationale]
## Implementation Steps1. [Step with specific details]
2. [Step with specific details]
3. [Step with specific details]
## Trade-offs and Considerations- [Key trade-off 1]
- [Key trade-off 2]
## Next Steps- [Immediate action item]
- [Follow-up action item]
Example
Input: "Help me implement dependency manager for a medium-scale production application"
Output: A structured analysis covering current state assessment, recommended dependency manager approach with specific patterns, implementation roadmap with milestones, and risk mitigation strategies tailored to the application scale and constraints.
Edge Cases
Legacy system integration: When dependency manager must coexist with legacy approaches, provide a gradual migration path rather than a complete rewrite
Scale mismatch: When the solution complexity exceeds the project scale, recommend a simpler approach and note when to revisit
Team skill gaps: When the team lacks experience with the recommended approach, include learning resources and simpler alternatives
Conflicting requirements: When constraints conflict (e.g., performance vs. maintainability), explicitly state the trade-off and recommend based on stated priorities