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.
npx skills add OneWave-AI/claude-skills --skill dependency-auditor -a claude-codeWhat 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-code2Manually: put the files in place
~/.claude/skills/dependency-auditor/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/dependency-auditor/
1Skills CLI (Vercel)
npx skills add OneWave-AI/claude-skills --skill dependency-auditor -a codex2Manually: put the files in place
.agents/skills/dependency-auditor/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add OneWave-AI/claude-skills --skill dependency-auditor -a cursor2Manually: put the files in place
.cursor/skills/dependency-auditor/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install OneWave-AI/claude-skills dependency-auditor2Manually: put the files in place
.github/skills/dependency-auditor/SKILL.md1Skills CLI (Vercel)
npx skills add OneWave-AI/claude-skills --skill dependency-auditor -a gemini-cli2Platform CLI
gemini skills install https://github.com/OneWave-AI/claude-skills --path dependency-auditorManually: put the files in place
.devin/skills/dependency-auditor/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add OneWave-AI/claude-skills --skill dependency-auditor -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
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.