Skip to main content
skill CX Codex

dependency-auditor · onewave-ai — Claude Code skill: audit npm dependencies

Checks npm packages for vulnerabilities, outdated versions and unused entries. Useful before a release or when package.json has grown messy.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add OneWave-AI/claude-skills --skill dependency-auditor -a claude-code
Open on GitHub

What dependency-auditor does

The skill gives the agent a fixed order of work: run the security audit first, then look at outdated packages, find unused ones and weigh the bundle impact. Review and update come last. It ships ready commands for npm, pnpm and yarn — npm audit, npm outdated, npx depcheck, npx npm-check-updates.

There is a section on false positives. Depcheck often flags @types/*, ESLint and Prettier plugins, Babel presets and Next.js plugins as unused, because they are wired through config files rather than imports. A checklist covers security, freshness and package.json hygiene, plus lock file rules: commit them, use npm ci in CI/CD, keep one package manager per project.

Update strategies come in three flavours — conservative with npm update, aggressive with npm-check-updates -u followed by npm test, and interactive. The skill marks npm audit fix --force as the risky path, since it can pull in breaking changes; run your tests after it.

What it helps with

  • catch critical vulnerabilities in npm packages before a release
  • strip unused dependencies out of package.json
  • bump packages without breaking the build
  • figure out why depcheck flags packages that are actually used
  • set up weekly update monitoring with Dependabot

Example prompts for the agent

  • audit the dependencies in this project
  • find unused packages and show what can be removed
  • update patch versions and run the tests

How to install dependency-auditor

1Skills CLI (Vercel)

npx skills add OneWave-AI/claude-skills --skill dependency-auditor -a claude-code

2Manually: put the files in place

~/.claude/skills/dependency-auditor/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/dependency-auditor/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about dependency-auditor

How do I install dependency-auditor in Claude?

Run npx skills add OneWave-AI/claude-skills --skill dependency-auditor -a claude-code. The skill lands in ~/.claude/skills/dependency-auditor/SKILL.md.

What does dependency-auditor do?

It runs a security audit of npm dependencies, finds outdated and unused packages, and checks bundle size impact. The flow is audit, version check, cleanup, review.

Why is npm audit fix --force risky?

The skill flags it as the path that may bring breaking changes. Plain npm audit fix handles safe patches; after the force variant, run your tests.

Source text

SKILL.md · MIT
---
name: dependency-auditor
description: Audit npm dependencies for security vulnerabilities, outdated packages, and unused dependencies. Use when checking for security issues, updating packages, or cleaning up dependencies.
---

# Dependency Auditor

## Instructions

When auditing dependencies:

1. **Run security audit**
2. **Check for outdated packages**
3. **Find unused dependencies**
4. **Analyze bundle size impact**
5. **Review and update**

## Security Audit

```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
```

## Check Outdated Packages

```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
```

## Find Unused Dependencies

```bash
# Using depcheck
npx depcheck

# With details
npx depcheck --detailed

# Ignore patterns
npx depcheck --ignores="@types/*,eslint-*"
```

### Common False Positives

Depcheck may flag these as unused when they're actually needed:
- `@types/*` packages (used by TypeScript)
- ESLint/Prettier plugins (referenced in config)
- PostCSS plugins (referenced in config)
- Next.js plugins
- Babel presets

## Analyze Bundle Size

```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
```

## Dependency Review Checklist

### Security
- [ ] No critical/high vulnerabilities
- [ ] Dependencies actively maintained
- [ ] No known malicious packages
- [ ] Lock file committed

### Freshness
- [ ] No major version behind (unless intentional)
- [ ] Security patches applied
- [ ] Deprecated packages replaced

### Cleanliness
- [ ] No unused dependencies
- [ ] No duplicate packages (check lock file)
- [ ] devDependencies vs dependencies correct

## Update Strategies

### Conservative (Recommended)

```bash
# Update patch versions only
npm update

# Update specific package
npm install package@latest
```

### Aggressive

```bash
# Update everything
npx npm-check-updates -u
npm install
npm test
```

### Interactive

```bash
npx npm-check-updates -i

# Options:
# a - update all
# space - toggle selection
# enter - apply selected
```

## Package.json Cleanup

```json
{
  "dependencies": {
    // Runtime dependencies only
  },
  "devDependencies": {
    // Build/test tools only
  },
  "peerDependencies": {
    // For libraries only
  },
  "optionalDependencies": {
    // Platform-specific (rare)
  }
}
```

## Lock File Best Practices

1. **Always commit** lock files (package-lock.json, pnpm-lock.yaml, yarn.lock)
2. **Use `npm ci`** in CI/CD (not `npm install`)
3. **Regenerate** if corrupted: delete lock file + node_modules, reinstall
4. **Single lock file** per project (don't mix package managers)

## Automated Monitoring

```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"
```

© OneWave-AI · MIT · OneWave-AI/claude-skills

Similar skills

Everything for Security →

dependency-auditor by other authors comes first.

From the same set58

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor