dependency-audit
Skill4 starsChanged 6 months agoApache-2.0View on GitHub
Use when auditing dependencies, checking for outdated packages, reviewing security vulnerabilities, scanning for CVEs, or checking dependabot/renovate PR status. Trigger phrases: dependency audit, security audit, outdated dependencies, CVE check.
42 other projects use a version of this.
Adopted by
Most recently taken up by
- petr-korobeinikov/skillstheir own version, first seen Nov 8, 2026
- ymd38/dev-skillstheir own version, first seen Nov 8, 2026
- northraystudio/marudatheir own version, first seen Nov 8, 2026
- Smaui94/ClaudeSkillCollectiontheir own version, first seen Nov 8, 2026
- nisarth/claude-skills-storetheir own version, first seen Nov 8, 2026
- amkisko/prayerstheir own version, first seen Nov 6, 2026
Used with
Projects with it also use api-audit, container-audit and 10 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.
gmanch94Skillapi-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
grichaSkillcontainer-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
conorluddySkillperformance-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
OpenAISkillthreat-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-designSkilla11y-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
OpenAISkillsecurity-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
Other versions42 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 42
- web-infra-dev/modern.js★ 5ksame name
- briiirussell/cybersecurity-skills★ 489same name
- Mathews-Tom/armory★ 340same name
- PerryLink/dsh-skill-pack-security★ 22same name
- Indium-AI-Labs/indium-agentkit★ 18same name
- Ionate-Technologies/indium-agentkit★ 17same name
- Quality-Max/free-qa-skills★ 13same name
- jnotsknab/mux-swarm★ 9same name
- greglas75/zuvo★ 7same name
- northraystudio/maruda★ 7same name
32 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository57 other files it gives its agents.
- autopilotSkill
- build-python-librarySkill
- build-temporalSkill
- canon-design-reviewSkill
- canon-pr-reviewSkill
- canon-reviewSkill
- ccr-modelsSkill
- ccr-runSkill
- chartSkill
- ci-health-reportSkill
- code-quality-trendsSkill
- competitive-matrixSkill
- councilSkill
- create-skillSkill
- deep-debug-ensemble-v1Skill
- deep-debugSkill
- deep-designSkill
- deep-ideaSkill
- deep-planSkill
- deep-qa-ensemble-v1Skill
- deep-qaSkill
- deep-researchSkill
- deploy-status-reportSkill
- develop-board-gameSkill
- diagramSkill
- docxSkill
- dora-lite-reportSkill
- find-skillSkill
- flaky-test-diagnoserSkill
- gap-finderSkill
- gen-crash-testSkill
- gen-smokeSkill
- goal-managerSkill
- init-github-repoSkill
- loop-until-doneSkill
- magic-fetchSkill
- ml-pipeline-reportSkill
- monitorSkill
- napSkill
- pipeline-health-reportSkill
- platform-friction-detectorSkill
- pptxSkill
- prod-readinessSkill
- prompt-clash-ensembleSkill
- prompt-clashSkill
- retrospectSkill
- slack-digestSkill
- slidesSkill
- specSkill
- sprint-retroSkill
- tableSkill
- team-temporalSkill
- timelineSkill
- update-stop-gateSkill
- user-activity-reportSkill
- vc-gauntletSkill
- xlsxSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 3 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 39 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 39
Read the primary dependency files with read_file to catalog declared dependencies.
- Very specific: line 43
Search for outdated dependency patterns: Use keyword_search for common staleness signals per ecosystem:
- Very specific: line 53
Check for deprecated or removed packages: Use keyword_search to search for known deprecated patterns:
- Very specific: line 87
Deliver as HTML: Follow the shared HTML delivery pattern in _shared/html-delivery.md.
- Distinctive: line 95
Pair metrics with counter-metrics: Never report open dependency PRs without showing merge rate.
- Distinctive: line 102
Check ALL repos, not a sample: Every configured repo gets a full audit.
- Distinctive: line 103
No dependency update mechanism is itself a finding: If a repo has no dependabot/renovate PRs and no recent dependency changes, flag it — …
“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.
Files
Dependency Audit Report
Produce a monthly dependency and security audit report across configured repositories using Sourcegraph search and GitHub CLI tools. The report identifies outdated dependencies, known CVE references, and pending dependency update PRs.
Configuration
See _shared/report-config.md for the standard config resolution pattern.
Config schema (~/.claude/skills/dependency-audit/config.json):
repos: list of repository name strings (Sourcegraph/gh CLI format)
Required scope: at least one repos entry.
Arguments
- repos: list of repository names to audit (must match Sourcegraph and gh CLI format)
Workflow
- Identify dependency files. For each repo, use
list_filesto check for:- Python:
requirements.txt,requirements.in,pyproject.toml,setup.py - Java/Kotlin:
build.gradle,build.gradle.kts,dependencies.lock,gradle.lockfile - JavaScript/TypeScript:
package.json,package-lock.json,yarn.lock - Go:
go.mod,go.sum - Read the primary dependency files with
read_fileto catalog declared dependencies.
- Python:
- Search for known CVE references. For each repo, use
keyword_searchwith queryrepo:^{repo}$ CVE-to find any explicit CVE references in code, comments, or config. Also search withnls_searchforrepo:^{repo}$ vulnerability advisory security patchto find security-related mentions. - Search for outdated dependency patterns. Use
keyword_searchfor common staleness signals per ecosystem:- Python:
repo:^{repo}$ file:requirements pinned versions— look for==pinned versions that may be outdated. - Java:
repo:^{repo}$ file:build.gradle— check for deprecated dependency declarations. - JS:
repo:^{repo}$ file:package.json— read and identify major version gaps.
- Python:
- Check dependency update PRs. For each repo, use
ghCLI:gh pr list --repo {repo} --state open --label "dependencies" --json number,title,createdAt,authorto find dependabot/renovate PRs.gh pr list --repo {repo} --state open --search "author:dependabot author:renovate bump update" --json number,title,createdAt,authoras a fallback if no label exists.- Classify: how many are open, how old is the oldest, are any security-critical (title contains "security" or "CVE").
- Check for deprecated or removed packages. Use
keyword_searchto search for known deprecated patterns:repo:^{repo}$ (deprecated|end-of-life|EOL|no longer maintained)in dependency-adjacent files.
- Generate report. Output markdown:
## Dependency Audit — {date}
Repos audited: {N}
### Summary
- Repos with open dependency PRs: {N} | Total open dependency PRs: {N}
- Repos with CVE references: {N} | Security-critical PRs: {N}
- Oldest unmerged dependency PR: {age in days}
### Security Findings
(For each CVE reference found: repo, file, CVE ID, context snippet, severity if known)
### Open Dependency Update PRs
| Repo | PR | Title | Age (days) | Security? |
|---|---|---|---|---|
(All open dependabot/renovate PRs across repos, sorted by age descending)
### Stale Dependency PRs (> 30 days open)
(For each: repo, PR number, title, age, why it might be stuck)
### Dependency Ecosystem Summary
| Repo | Ecosystem | Dependency File | Declared Deps | Pinned | Floating |
|---|---|---|---|---|---|
(Per-repo breakdown of dependency management approach)
### Flags
(Concerning signals: old unmerged security PRs, CVEs in code, no dependency update mechanism)- Deliver as HTML. Follow the shared HTML delivery pattern in
_shared/html-delivery.md. Report name:dependency-audit. TLDR includes repos audited, security findings count, and oldest unmerged dependency PR age. - Terminate. Report is complete when all repos are audited and findings compiled.
Design Principles
- Team-level only. Aggregate to team level — it is the right granularity for a periodic digest. Don't attribute dependency debt to individuals.
- Deterministic math first, LLM narrates only. PR counts, ages, and CVE occurrences must be computed from actual API data. The LLM summarizes but never invents severity ratings or vulnerability assessments.
- Pair metrics with counter-metrics. Never report open dependency PRs without showing merge rate. If showing CVE references, also show whether they've been addressed.
Golden Rules
- Security PRs go first. Any dependency PR with "security" or "CVE" in the title gets flagged and surfaced at the top.
- Age is the key metric for dependency PRs. A 3-day-old PR is routine. A 90-day-old PR is a risk. Sort by age, flag anything over 30 days.
- Don't assess vulnerability severity yourself. Report what's found (CVE IDs, PR titles) and let the reader assess. The LLM is not a security scanner.
- Check ALL repos, not a sample. Every configured repo gets a full audit.
- No dependency update mechanism is itself a finding. If a repo has no dependabot/renovate PRs and no recent dependency changes, flag it — dependencies are frozen, not up-to-date.
Anti-Rationalization Counter-Table
| Excuse | Reality |
| "No CVEs found so dependencies are secure." | Absence of CVE references in code does not mean absence of vulnerabilities. Report what you found and note the limitation. |
| "I checked the main repo, the others are small." | Audit ALL configured repos. Small repos with outdated dependencies are still a risk. |
| "There are too many dependency PRs to list." | List them all in the table. The reader needs the complete picture to prioritize. |
| "I can't determine if dependencies are outdated without a registry lookup." | You can report: pinned versions, dependency PR age, and absence of update mechanisms. That's actionable without registry lookups. |
| "The repo uses a custom dependency system so I skipped it." | Report what dependency files exist and note the non-standard setup. Don't silently skip. |
Termination Labels
| Label | Meaning |
report_complete | All repos audited, CVE search done, dependency PRs cataloged, flags raised |
report_partial | Some repos audited but errors prevented full coverage — noted which |
no_repos_configured | No repos specified — need config.json or user input |
api_error | Sourcegraph or GitHub API unreachable |
Self-Review Checklist
- All configured repos were audited
- CVE keyword search was run on every repo
- Dependency update PRs were checked via gh CLI for every repo
- PR ages computed and stale PRs (>30 days) flagged
- Security-critical PRs identified and surfaced first
- Dependency ecosystem summary shows what files exist per repo
- Flags section surfaces repos with no update mechanism
- HTML version uploaded to S3 with commuter link (unless
--no-htmlor upload failed with noted fallback) - Slack/chat delivery uses TLDR + link, not the full report
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
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.

