Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Audit npm dependencies for security vulnerabilities, outdated packages, and unused dependencies. Use when checking for security issues, updating packages, or cleaning up dependencies.
.claude/skills/onewave-ai-dependency-auditor/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 85% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 0% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 20% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 16% | 0% |
| case-07 | ✓→✓ | = Same ✓ | 31% | 0% |
When auditing dependencies:
bash# NPM audit npm audit # Get JSON output for processing npm audit --json # Fix automatically (safe fixes only) npm audit fix # Force fix (may have breaking changes) npm audit fix --force # PNPM pnpm audit # Yarn yarn audit
bash# NPM npm outdated # Interactive update npx npm-check-updates -i # Update all to latest npx npm-check-updates -u npm install # Check specific package npm view <package> versions
bash# Using depcheck npx depcheck # With details npx depcheck --detailed # Ignore patterns npx depcheck --ignores="@types/*,eslint-*"
Depcheck may flag these as unused when they're actually needed:
@types/* packages (used by TypeScript)bash# For Next.js npx @next/bundle-analyzer # General purpose npx source-map-explorer dist/**/*.js # Check package size before installing npx package-phobia <package-name> # Compare alternatives npx bundlephobia-cli compare lodash ramda
bash# Update patch versions only npm update # Update specific package npm install package@latest
bash# Update everything npx npm-check-updates -u npm install npm test
bashnpx npm-check-updates -i # Options: # a - update all # space - toggle selection # enter - apply selected
json{ "dependencies": { // Runtime dependencies only }, "devDependencies": { // Build/test tools only }, "peerDependencies": { // For libraries only }, "optionalDependencies": { // Platform-specific (rare) } }
npm ci in CI/CD (not npm install)yaml# .github/dependabot.yml version: 2 updates: - package-ecosystem: "npm" directory: "/" schedule: interval: "weekly" open-pull-requests-limit: 10 groups: dev-dependencies: dependency-type: "development"
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 20,074 | 24,654 | +23% | 1 | 1 | 0% | 1,845 | 3,422 | +85% | 0 | 0 | — |
case-02 | fail→fail | 14,230 | 10,798 | -24% | 1 | 1 | 0% | 2,369 | 2,724 | +15% | 0 | 0 | — |
case-03 | fail→fail | 22,169 | 15,841 | -29% | 1 | 1 | 0% | 3,641 | 3,526 | -3% | 0 | 0 | — |
case-04 | fail→pass | 9,587 | 4,276 | -55% | 1 | 1 | 0% | 1,442 | 1,447 | +0% | 0 | 0 | — |
case-05 | pass→pass | 15,259 | 11,639 | -24% | 1 | 1 | 0% | 2,254 | 2,712 | +20% | 0 | 0 | — |
case-06 | pass→pass | 8,465 | 3,083 | -64% | 1 | 1 | 0% | 1,188 | 1,373 | +16% | 0 | 0 | — |
case-07 | pass→pass | 7,789 | 5,409 | -31% | 1 | 1 | 0% | 1,295 | 1,695 | +31% | 0 | 0 | — |
case-12 | pass→pass | 7,073 | 4,549 | -36% | 1 | 1 | 0% | 1,154 | 1,533 | +33% | 0 | 0 | — |
case-08 | pass→pass | 4,400 | 4,785 | +9% | 1 | 1 | 0% | 729 | 1,667 | +129% | 0 | 0 | — |
case-09 | pass→pass | 10,246 | 8,532 | -17% | 1 | 1 | 0% | 1,621 | 2,201 | +36% | 0 | 0 | — |
case-10 | pass→pass | 6,243 | 5,224 | -16% | 1 | 1 | 0% | 836 | 1,661 | +99% | 0 | 0 | — |
case-11 | pass→pass | 8,950 | 5,786 | -35% | 1 | 1 | 0% | 1,501 | 1,855 | +24% | 0 | 0 | — |
case-13 | pass→pass | 9,981 | 6,561 | -34% | 1 | 1 | 0% | 1,616 | 1,889 | +17% | 0 | 0 | — |
case-14 | pass→pass | 5,627 | 9,625 | +71% | 1 | 1 | 0% | 891 | 1,589 | +78% | 0 | 0 | — |
case-15 | pass→pass | 10,038 | 6,774 | -33% | 1 | 1 | 0% | 1,750 | 2,004 | +15% | 0 | 0 | — |
case-16 | pass→pass | 7,534 | 5,766 | -23% | 1 | 1 | 0% | 1,181 | 1,645 | +39% | 0 | 0 | — |
case-17 | pass→pass | 8,631 | 6,124 | -29% | 1 | 1 | 0% | 1,605 | 2,006 | +25% | 0 | 0 | — |
case-18 | pass→pass | 9,057 | 6,506 | -28% | 1 | 1 | 0% | 1,574 | 2,066 | +31% | 0 | 0 | — |
case-19 | pass→pass | 8,195 | 4,491 | -45% | 1 | 1 | 0% | 1,514 | 1,654 | +9% | 0 | 0 | — |
case-20 | pass→pass | 15,263 | 11,378 | -25% | 1 | 1 | 0% | 2,621 | 3,046 | +16% | 0 | 0 | — |
case-21 | pass→pass | 13,504 | 8,685 | -36% | 1 | 1 | 0% | 2,432 | 2,523 | +4% | 0 | 0 | — |
case-22 | pass→pass | 8,404 | 5,782 | -31% | 1 | 1 | 0% | 1,528 | 1,888 | +24% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +9 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.