dep-audit
Dependency Audit
Cross-repository dependency audit. Scans package manifests (package.json, pyproject.toml, Cargo.toml, go.mod) for outdated packages, security advisories, version conflicts between repos, and license compatibility issues. Produces a prioritized update plan.
Install
git clone https://github.com/thatrebeccarae/claude-marketing.git && cp -r claude-marketing/skills/dep-audit ~/.claude/skills/
When to Use
- Monthly hygiene: Run on a cadence to catch dependency drift before it compounds
- Before releases: Verify no known vulnerabilities ship to production
- Security incidents: When a CVE drops, quickly assess exposure across all repos
- Onboarding new repos: Baseline the dependency health of a repo you're inheriting or adopting
Usage
/dep-audit [repo-path]— audit a single repository/dep-audit [repo-path1] [repo-path2] ...— cross-repo audit (enables version conflict detection)
Procedure
1. Detect Package Managers
Scan the target repo(s) for manifest files:
| Manager | Manifest | Lock File |
|---|---|---|
| npm | package.json |
package-lock.json |
| yarn | package.json |
yarn.lock |
| pnpm | package.json |
pnpm-lock.yaml |
| pip | requirements.txt, setup.py, setup.cfg |
requirements.txt (pinned) |
| poetry | pyproject.toml (has [tool.poetry]) |
poetry.lock |
| uv | pyproject.toml (has [tool.uv]) |
uv.lock |
| cargo | Cargo.toml |
Cargo.lock |
| go mod | go.mod |
go.sum |
# Detect which manifests exist
ls package.json pyproject.toml Cargo.toml go.mod requirements.txt 2>/dev/null
# Detect lock files
ls package-lock.json yarn.lock pnpm-lock.yaml poetry.lock uv.lock Cargo.lock go.sum 2>/dev/null
If multiple ecosystems are present (e.g., a monorepo with Node.js frontend and Go backend), audit each independently and merge results.
2. Parse Manifests and Lock Files
Read the manifest to identify declared dependencies (direct) and the lock file for resolved versions (transitive). Distinguish between:
- Production dependencies (
dependencies,[dependencies], main requires) - Development dependencies (
devDependencies,[dev-dependencies], extras)
3. Check for Outdated Packages
Query the registry for latest versions and categorize the delta:
# Node.js
npm outdated --json
# Python (pip)
pip list --outdated --format=json
# Python (poetry)
poetry show --outdated
# Rust
cargo outdated --format json # requires cargo-outdated
# Go
go list -m -u all
Categorize each outdated package:
- Patch update (e.g., 2.3.1 -> 2.3.4): Safe, usually bug fixes
- Minor update (e.g., 2.3.1 -> 2.5.0): New features, should be backward-compatible
- Major update (e.g., 2.3.1 -> 3.0.0): Breaking changes likely, needs migration review
4. Check for Security Advisories
Run ecosystem-native audit tools:
# Node.js
npm audit --json
# Python
pip-audit --format=json # or: safety check
# Rust
cargo audit --json # requires cargo-audit
# Go
govulncheck ./...
Parse severity from results:
- Critical: Remote code execution, authentication bypass, data exfiltration
- High: Privilege escalation, significant data exposure
- Medium: DoS potential, limited data exposure
- Low: Information disclosure, minor issues
5. Cross-Repo Analysis (Multiple Repos)
When auditing two or more repos, compare dependency versions:
- Version conflicts: Same package at different versions across repos (e.g.,
axios@0.27.2in repo A,axios@1.6.2in repo B) - Shared dependencies: Packages used by multiple repos that could be aligned to a single version
- Divergent major versions: Flag these as highest priority — they indicate repos drifting apart
Present a conflict table showing package, version per repo, and recommended target version.
6. License Scan
Check dependency licenses against compatibility rules:
# Node.js
npx license-checker --json
# Python
pip-licenses --format=json
# Rust
cargo license --json # requires cargo-license
# Go
go-licenses report ./... # requires go-licenses
Flag issues:
- Copyleft in permissive projects: GPL/AGPL dependencies in MIT/Apache-licensed projects
- Unknown or missing licenses: Dependencies with no license metadata
- Non-OSI-approved licenses: Custom or restrictive licenses
- License conflicts: Incompatible license combinations (e.g., GPLv2-only with Apache-2.0)
7. Generate Update Plan
Prioritize all findings into a single ordered list:
- Critical security advisories — fix immediately
- High security advisories — fix this sprint
- License violations — assess and remediate
- Major outdated (with known issues) — plan migration
- Cross-repo version conflicts — align versions
- Minor outdated — batch update
- Patch outdated — batch update
Group related updates together:
- All
@types/*packages in one PR - All packages from the same org (e.g.,
@babel/*) - Peer dependency chains that must move together
Note breaking change risks for any major update. Link to migration guides where available.
8. Report
Produce a severity-coded summary table:
| Priority | Package | Current | Latest | Type | Severity | Repos Affected | Action |
|---|---|---|---|---|---|---|---|
| 1 | lodash | 4.17.19 | 4.17.21 | patch | CRITICAL (CVE-2021-23337) | repo-a, repo-b | Update immediately |
| 2 | express | 4.17.1 | 4.21.2 | minor | HIGH (CVE-2024-29041) | repo-a | Update this sprint |
| 3 | webpack | 4.46.0 | 5.94.0 | major | MEDIUM (outdated) | repo-a | Plan migration |
| ... |
Follow with:
- Total dependency count (direct / transitive) per repo
- Security summary: X critical, Y high, Z medium, W low
- Outdated summary: X major, Y minor, Z patch
- License summary: X flagged, Y clean
- Cross-repo conflicts: X packages with version divergence
Key Principles
- Never auto-update. This skill audits and recommends. The human decides what to update and when. Automated updates can introduce breaking changes, especially for major versions.
- Security first. Critical and high-severity vulnerabilities always top the priority list, regardless of how old other dependencies are.
- Group related updates. Updating
reactwithout updatingreact-domcreates version mismatches. Always identify peer dependency chains. - Context matters. A major version bump on a dev-only dependency (e.g.,
eslint) is lower risk than a patch on a production runtime dependency with a CVE. - Lock files are truth. Always read the lock file for actual resolved versions, not just the range specifier in the manifest.
- Don't chase latest for its own sake. If a dependency is working, stable, and has no advisories, "outdated" is not the same as "broken."
How to Use This Skill
Ask:
- "Audit the dependencies in ~/Repos/my-app"
- "Compare dependency versions across these three repos"
- "Are there any security vulnerabilities in this project?"
- "Check for license issues before we open-source this repo"
- "Build me an update plan for everything that's behind"
For command reference, license compatibility details, and false positive handling, see REFERENCE.md. For worked examples, see EXAMPLES.md.
More from thatrebeccarae/claude-marketing
facebook-ads
Meta Ads (Facebook & Instagram) platform expertise. Audit campaigns, audiences, creative strategy, pixel tracking, and CAPI. Use when the user asks about Facebook Ads, Instagram Ads, Meta Ads, social media advertising, Advantage+ campaigns, or Meta pixel/CAPI setup.
13content-creator
Comprehensive content marketing toolkit with brand voice analysis, SEO optimization scripts, content frameworks, social media strategy, and content calendar planning. Use when writing blog posts, creating social media content, analyzing brand voice, optimizing SEO, planning content calendars, or developing content strategy. For deep SEO writing optimization, see the seo-content-writer skill.
13icp-research
Build detailed ideal customer profiles with pain points, objections, buying triggers, and messaging angles. Includes community research to find where ICPs gather online and extract their exact language. Use when researching audiences, creating buyer personas, or developing targeted messaging.
12content-pipeline
End-to-end content creation workflow that orchestrates research, editorial review, and social distribution agents in sequence. Use when the user wants to create, review, and distribute content through a multi-stage pipeline, or says "/content-pipeline".
12content-workflow
End-to-end content creation pipeline from research through editorial review to social distribution. Orchestrates a 3-stage workflow: research, draft/edit, and distribute. Supports blog posts, LinkedIn, Twitter threads, newsletters, and essays.
12brand-voice-guidelines
Develop brand voice, tone matrices, messaging frameworks, and brand book documentation. Use when the user asks about brand voice, tone of voice, brand guidelines, messaging framework, or brand consistency.
12