dependency-management — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited dependency-management (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Dependencies rot silently. Unmanaged packages become security liabilities, compatibility nightmares, and legal risks.
Core principle: ALWAYS assess, prioritize, and plan before updating. Rushed upgrades break production; ignored vulnerabilities enable breaches.
Violating the letter of this process is violating the spirit of dependency management.
Use this when CVE alert arrives. Don't think, follow the list.
| Minute | Action | Output |
|---|---|---|
| 0-1 | Identify affected package and version | package@version confirmed |
| 1-2 | Check CVE severity (CVSS score) | Severity (Critical/High/Medium/Low) |
| 2-3 | Verify if your app is affected | affected or not_affected |
| 3-4 | Check if patch available | patch_available or no_patch |
| 4-5 | If Critical/High: Create incident ticket | Stakeholders aware |
After 5 minutes: Proceed to Phase 2 (Assess Impact) - you've completed Detect.
NO UPGRADES WITHOUT IMPACT ASSESSMENT FIRSTIf you haven't assessed breaking changes and tested compatibility, you cannot merge dependency updates.
Use for ANY dependency management task:
Use this ESPECIALLY when:
Don't skip when:
This skill is for systematic dependency management. Don't use it for:
Key distinction: This skill manages systematic upgrade and security response. For simple package additions, use standard code review.
You MUST complete each phase before proceeding to the next.
digraph dependency_management {
rankdir=TB;
node [shape=box];
"1. Detect" -> "2. Assess Impact";
"2. Assess Impact" -> "3. Plan Upgrade";
"3. Plan Upgrade" -> "4. Execute";
"4. Execute" -> "5. Verify";
"5. Verify" -> "6. Document";
"Skip Phase?" [shape=diamond];
"2. Assess Impact" -> "Skip Phase?" [style=dashed, label="tempted?"];
"Skip Phase?" -> "STOP" [label="NO"];
"STOP" [shape=doublecircle, color=red];
}Identify the dependency issue:
npm audit / yarn audit / pnpm auditnpm outdated / yarn outdatedCompletion criteria:
issue_identified - Package, version, and issue type documentedseverity_classified - Critical/High/Medium/Low assignedUnderstand the blast radius BEFORE planning:
See security-vulnerability-response.md for CVE-specific assessment.
Completion criteria:
usage_mapped - All import locations identifiedbreaking_changes_listed - API changes documentedrisk_assessed - Impact level determinedDesign the upgrade strategy:
See major-upgrade-guide.md for staged upgrade patterns.
Completion criteria:
upgrade_path_defined - Strategy documentedchanges_estimated - Code modifications listedtimeline_set - Deadline based on severityImplement the upgrade:
See lock-file-management.md for conflict resolution.
deps/upgrade-package-v3Completion criteria:
package_updated - Version bumped in package.jsonlock_file_clean - No merge conflictstests_passing - All tests greenConfirm the upgrade works:
Completion criteria:
build_verified - Production build succeedsruntime_verified - Application works correctlysecurity_verified - Audit passes (if CVE)The upgrade is NOT complete until documented:
Completion criteria:
changelog_updated - Upgrade documentedticket_closed - Issue resolved and linkedIf you catch yourself thinking:
ALL of these mean: STOP. Return to Phase 2.
| Excuse | Reality |
|---|---|
| "It's just a patch version" | Patch versions can contain breaking changes. Semantic versioning is a promise, not a guarantee. |
| "We're behind, need to catch up" | Rushed upgrades cause production incidents. Systematic upgrades are faster long-term. |
| "Everyone else uses this version" | Your codebase has unique usage patterns. Test YOUR code. |
| "Lock file changes are noise" | Lock file integrity prevents "works on my machine." Treat it as source code. |
| "License is fine, it's open source" | Open source has obligations. GPL can require code disclosure. Check ALWAYS. |
| "CVE doesn't affect us" | Verify with evidence, don't assume. Attack vectors are creative. |
| "We'll handle deprecations later" | Deprecation warnings become errors. Address when upgrading. |
| "Auto-merge is safe for patches" | Auto-merge is safe for MONITORED patches. Set up failure alerts. |
| Phase | Key Activities | Verification Key |
|---|---|---|
| 1. Detect | Audit, identify, classify severity | issue_identified |
| 2. Assess | Usage mapping, breaking changes, risk | risk_assessed |
| 3. Plan | Upgrade path, code changes, timeline | upgrade_path_defined |
| 4. Execute | Branch, update, test | tests_passing |
| 5. Verify | Build, runtime, security audit | build_verified |
| 6. Document | Changelog, docs, close tickets | ticket_closed |
| Severity | CVSS Score | Response Time | Action |
|---|---|---|---|
| Critical | 9.0-10.0 | 24 hours | Immediate patch or mitigation |
| High | 7.0-8.9 | 7 days | Prioritized upgrade |
| Medium | 4.0-6.9 | 30 days | Scheduled upgrade |
| Low | 0.1-3.9 | 90 days | Next maintenance cycle |
When managing dependencies in monorepos (multiple package.json files):
| Tool | Command | Purpose |
|---|---|---|
| npm workspaces | npm audit --workspaces | Audit all workspaces |
| Yarn workspaces | yarn workspaces foreach npm audit | Audit each workspace |
| pnpm | pnpm -r audit | Recursive audit |
| Lerna | lerna exec -- npm audit | Execute in each package |
| Turborepo | turbo run audit | Run audit task |
| Nx | nx run-many --target=audit | Parallel audit |
npm audit --workspaces--workspace=<name> for targeted updates| Location | Use For | Example |
|---|---|---|
Root package.json | Shared tooling, workspace-wide deps | TypeScript, ESLint, build tools |
Package package.json | Package-specific runtime deps | React (if only some packages need it) |
# Ensure consistent versions across workspaces
npx syncpack list-mismatches
npx syncpack fix-mismatchesThese files provide detailed guidance for specific phases:
From dependency management data:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.