agentleFS
gonimargonimar/claude-web-studio/skills/dependency-audit/SKILL.md

dependency-audit

Skill4 starsChanged 46 days agoMITView on GitHub

Audits the supply chain (OWASP A03) — lockfiles, vulnerability scans, abandoned packages, versions vs the stack reference, licences, Renovate/Dependabot config, SRI, image pinning — and reports upgrade/replace actions; `--fix-safe` applies patch/minor updates on a chore branch. Required before release; use for 'check the dependencies', 'any vulnerable packages', 'outdated deps'.

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

    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

  • GitHubSkill

    accessibility-audit

    Audits actual components and routes against applicable WCAG 2.2 A/AA criteria using consumer-owned design-system evidence and repository tools. Use when asked for an accessibility audit, a11y check, keyboard or focus review, contrast check, or screen-reader verification.

    Also in 3 projects that use this

  • pproencaSkill

    refactoring

    Code refactoring best practices based on Martin Fowler's catalog and Clean Code principles. This skill should be used when refactoring existing code, improving code structure, reducing complexity, eliminating code smells, or reviewing code for maintainability. Triggers on tasks involving extract method, rename, decompose conditional, reduce coupling, or improve readability.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 39 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

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

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

    When HEAD is a story branch (or the chore/deps-<date> branch of --fix-safe), name it and ask one AskUserQuestion: switch to the default …

    line 40

“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

Reply in the project conversation language (CLAUDE.md → Language); code, identifiers, paths and commit messages stay in English.

Reference stack-reference/index.md, tooling-devops.md, supply-chain.md (SBOM scanning, update-bot policy); template findings.md. The report is docs/ops/dependency-audit-<date>.md (Phase 4); its high findings reach planning the way the sibling audits' do — as production/findings.md rows (DEP-NNN, Phase 4 step 2), because /help, /create-stories and /sprint-plan read that file and nobody reads the report for open actions (git-workflow § Chore / infra: a found problem is recorded there). In the commands below, <hooks> is .claude/hooks/ in copy mode and ${CLAUDE_PLUGIN_ROOT}/hooks/ in plugin mode.

File writes and any mutation (git, deploy) happen only after an explicit "May I write?" / "Proceed?" — each one AskUserQuestion (proceed (Recommended) · show the draft/diff first · not now) → "yes". After the "write" answer: touch .claude/.write-consent (rule 7 — the consent-guard hook checks the marker). A subagent spawned through Task cannot ask the user: the parent's "yes" covers the packages and files it names, and a delegated agent that needs to go beyond that stops and reports back so the parent asks.

Phase 1: Inventory

Manifests and lockfiles (go.mod/go.sum, composer.lock, pnpm-lock.yaml/package-lock.json), Dockerfile base images, external <script src> in HTML, GitHub Actions (pins).

Phase 2: Checks (Bash, whatever is available)

  • Go: govulncheck ./....
  • PHP: composer audit, composer outdated --direct, Packagist abandoned (WebFetch of the package's Packagist page when in doubt — the fetched status is quoted in the report, never assumed).
  • JS: pnpm audit/npm audit, pnpm outdated.
  • Versions vs stack-reference/index.md.
  • Licences: license-checker/composer licenses/go-licenses when available.
  • renovate.json/dependabot.yml: present, minors grouped per tooling-devops.md. The open update PRs themselves are /sprint-plan's queue, not this report's.
  • Images: trivy image when available.
  • SBOM-based scan (option next to the ecosystem audits, supply-chain.md § SBOM): when a release SBOM exists (gh release view <tag> --json assets, or syft <image>@<digest> -o cyclonedx-json=sbom.cdx.json now), grype sbom:sbom.cdx.json --fail-on high --only-fixed or trivy sbom sbom.cdx.json — one scan covers OS packages of the base image and the app dependencies together; its findings join the same table with the source column sbom.

Phase 3: Report

Table "package → version → problem (CVE/abandoned/outdated/licence) → action (upgrade/replace/accept risk) → effort", shown in the chat.

--fix-safe: propose applying only patch/minor updates without breaking changes (after "yes", with a test run). Dependency updates are toolchain work on the chore lane (git-workflow § Chore / infra): after the "yes", switch to a chore/deps-<date> branch from an up-to-date default branch, apply the updates, run the tests (output in the result), commit chore(deps): safe updates <date> and open the PR; /code-review --diff before the merge. The manifest and lockfile changes never land on the default branch and never ride the docs: commit of Phase 4. A failing test run reverts the update that broke it and lists it under "not applied".

Phase 4: Write

  1. "May I write docs/ops/dependency-audit-<date>.md?" — one AskUserQuestion: write (Recommended) · show the draft/diff first · not now. After the "write" answer: touch .claude/.write-consent (rule 7 — the consent-guard hook checks the marker).
  2. High findings reach production/findings.md. For every high finding (a high/critical CVE, an abandoned package with no replacement, a licence conflict), one AskUserQuestion: record it in production/findings.md (template findings.md; id DEP-NNN, severity, area/package, source column pointing at the report, the action — upgrade/replace/accept risk) (Recommended) · story stubs now via /create-stories · report only. The "record" answer is the "May I write production/findings.md?" consent: touch .claude/.write-consent after it, then write the row. A high finding that is neither recorded nor turned into a story is named as such in the verdict line. Record the gate before asking — <hooks>session-state.sh set Gate "/dependency-audit Phase 4: record DEP-NNN?" — and clear it after the answer (<hooks>session-state.sh set Gate "—").
  3. Commit gate (rule 7 (4), .claude/docs/git-workflow.md § Documents), right after the write (and the findings rows, when any were recorded): docs: dependency audit <date>, staging exactly docs/ops/dependency-audit-<date>.md, production/findings.md when rows were added and .claude/agent-memory/ when the run changed it (git-workflow § Agent memory). Record the gate before asking — <hooks>session-state.sh set Gate "/dependency-audit Phase 4: commit?" — and clear it after the answer (<hooks>session-state.sh set Gate "—").

    • On the default branch when no story work is in progress: one AskUserQuestion — commit (Recommended) · leave uncommitted.
    • When HEAD is a story branch (or the chore/deps-<date> branch of --fix-safe), name it and ask one AskUserQuestion: switch to the default branch and commit there (Recommended — a pipeline-wide document) · commit here (the document belongs to this branch) · leave uncommitted.
    • Lockfile and manifest changes, a renovate.json/dependabot.yml added on request, image pins: not documents — they stay on the chore lane and never ride the docs: commit; name them in the result.

    Nothing is committed without the answer.

Verdict: CLEAN | ACTION REQUIRED (N high). Next step — one AskUserQuestion: stories for the replacements/upgrades (Recommended) · /stack-update for outdated majors · report only.

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.