agentleFS
Smaui94Smaui94/ClaudeSkillCollection/dependency-audit/SKILL.md

dependency-audit

Skill0 starsChanged 9 days agoMITView on GitHub

Audit project dependencies - detect package manifests (requirements.txt, pyproject.toml, package.json, pom.xml, build.gradle, *.csproj, vcpkg/conan, Cargo.toml, go.mod …) and report known vulnerabilities, outdated and unpinned versions, missing lock files, unused, duplicate or misplaced dependencies. Never updates anything. Use when asked to check/audit dependencies, packages, libraries, vulnerable or outdated packages, or supply-chain hygiene.

  • Installs packages

42 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use api-audit, container-audit and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • gmanch94Skill

    api-audit

    Guides a structured API portfolio audit — from discovery through primary-source-verified inventory, shortcomings analysis, prioritized recommendations, executive summary, and options analysis. Enforces primary-source discipline, cross-file consistency, and advisor review gates. Use when auditing an API portfolio, evaluating a vendor's developer ecosystem, or producing defensible technical analysis of an API set.

    Also in 3 projects that use this

  • grichaSkill

    container-audit

    Audit local Docker images and running containers for hardening issues before deploy — privileged flags, root users, stale base images, missing resource limits. Use for pre-deploy container review.

    Also in 3 projects that use this

  • conorluddySkill

    performance-profiling

    Instruments integration and performance analysis workflows for iOS apps. Use when profiling CPU usage, memory allocation, network activity, or energy consumption. Covers Time Profiler, Allocations, Leaks, Network instruments, and performance optimization strategies.

    Also in 3 projects that use this

  • OpenAISkill

    threat-model

    Use when Codex is already in the threat-modeling phase of a security scan, the user explicitly invokes $threat-model, or the user explicitly asks to create, update, or persist a repository threat model. Do not use as the primary trigger for full PR, commit, branch, patch, or repository scans.

    Also in 4 projects that use this

  • renfei-designSkill

    a11y-audit

    Audit Figma designs for WCAG accessibility issues — color contrast, minimum font size, touch target sizing, and missing text alternatives. Use when asked to check accessibility, audit contrast ratios, find a11y issues, verify WCAG compliance, or review designs for accessibility problems. Scans nodes, analyzes offline, and annotates issues in Figma.

    Also in 3 projects that use this

  • OpenAISkill

    security-scan

    Use for a standard, single-pass security audit of an entire repository or a scoped path, package, folder, or submodule with no diff to review. This is the default repository scan. Do not use for PR, commit, branch, or working-tree diffs, or for deep, multi-pass scans.

    Also in 4 projects that use this

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 2 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 39 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    All manifests in the repo unless the user names a subproject.

    line 11
  2. Very specific:

    Run (no pipe; output is capped): bash <skill-dir>/scripts/audit.sh <project-root>

    line 14
  3. Distinctive:

    Every finding has a concrete manifest (and line where possible).

    line 38
  4. Distinctive:

    Do not change any files. Apply changes only when the user explicitly asks for it.

    line 41

“Common” is measured: kept by at least 6 in 10 of the 39 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Dependency audit

Review only: report findings and suggest commands, never install, update, add or remove dependencies yourself. Vulnerability checks contact public advisory databases; mention that, and skip them with OFFLINE=1 if the user doesn't want network access.

Scope

All manifests in the repo unless the user names a subproject. Skip node_modules/, vendor/, .venv/, build output and example/fixture projects inside tests (report them separately if they look shipped).

Steps

  1. Run (no pipe; output is capped): bash <skill-dir>/scripts/audit.sh <project-root>
    • Lists manifests, missing lock files (DP4) and unpinned versions (DP3).
    • Runs the audit tools that are installed: osv-scanner, pip-audit, npm audit / npm outdated, dotnet list package --vulnerable/--outdated, cargo audit, govulncheck, bundle-audit, composer audit. Missing tools are listed with what they would add. Never install them yourself.
    • OFFLINE=1 skips all tools that need the network.
  2. Without tool output for an ecosystem: read the manifest and report versions that are clearly very old or end-of-life only when you are sure; otherwise recommend the matching tool (Maven/Gradle: OWASP dependency-check or osv-scanner; C/C++: osv-scanner on vcpkg/conan files, or check versions manually).
  3. DP5 unused: for each declared dependency, grep for its import/package name in the source (import x, require('x'), from x, using X, #include <x/...>). Remember that package name and import name can differ (beautifulsoup4 → bs4, Pillow → PIL, python-dateutil → dateutil).
  4. Report (format below).

Rules

  • DP1 error: known vulnerability (CVE/GHSA/OSV ID); severity from the advisory - critical/high = error, moderate = warning, low = info. Note whether a fixed version exists and whether the vulnerable code path is likely used.
  • DP2 warning: major version(s) behind or end-of-life; info: minor/patch behind
  • DP3 warning: unpinned or floating version in an application (*, latest, no version, >= without upper bound, Maven LATEST/RELEASE/ranges, Gradle +, NuGet *); libraries may use ranges (info)
  • DP4 warning: no lock file for an application (package-lock.json/yarn.lock/pnpm-lock.yaml, poetry.lock/uv.lock/pinned requirements, Cargo.lock, go.sum, Gemfile.lock, composer.lock; vcpkg builtin-baseline)
  • DP5 info: declared but apparently unused - always "possible" (plugins, CLI tools, type stubs, peer deps are used without imports)
  • DP6 warning: duplicate or conflicting declarations (same package in several manifests with different versions, in both dependencies and devDependencies)
  • DP7 warning: dev/test tool in production dependencies (pytest, jest, eslint, @types/*, junit without test scope) or a runtime package only in dev dependencies
  • DP8 info: deprecated or unmaintained package (npm deprecation notice, archived repo, no release for years) - only when the tool output or registry says so
  • DP9 info: license that may conflict with the project license (GPL/AGPL in a proprietary or MIT project) - only when the license is known

Report

In the user's language, grouped by manifest:

path/to/manifest:line - error|warning|info - <ID> <rule> - <package> <version> - <advisory ID / why it is a problem> - suggestion: <fixed version or command for the user to run>
  • Every finding has a concrete manifest (and line where possible). DP5 and estimated DP2 findings are "possible".
  • Suggest update commands only as text for the user (e.g. npm install lodash@4.17.21, pip install "requests>=2.32.0"), and mention that major updates can break the build and need testing.
  • End with a summary: manifests checked, which ecosystems had no tool coverage, findings per severity, then the 3 most important updates to do first.
  • Do not change any files. Apply changes only when the user explicitly asks for it.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.