From rsturla-skills
Audit project dependencies for known vulnerabilities, license issues, and supply chain risks. Supports Go, Rust, and Python. Use when the user changes dependencies, asks about vulnerability scanning, mentions CVEs in deps, or wants a security check — even if they just say "are my deps safe?" or "check for vulnerabilities."
How this skill is triggered — by the user, by Claude, or both
Slash command
/rsturla-skills:dependency-auditThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Scan project dependencies for vulnerabilities, license compliance, and supply chain risks.
Scan project dependencies for vulnerabilities, license compliance, and supply chain risks.
go.sum, Cargo.lock, requirements.txt, pyproject.toml)govulncheck ./...
Key: govulncheck does reachability analysis — it tells you if your code actually calls the vulnerable function,
not just that you imported the package. "Called" findings are critical; "imported but not called" are lower priority.
cargo audit
Uses the RustSec Advisory Database. cargo audit fix auto-updates to patched versions.
For comprehensive checks (advisories + licenses + bans):
cargo deny check
pip-audit
For uv-managed projects:
pip-audit -r <(uv pip compile pyproject.toml)
When multiple ecosystems are present or ecosystem-specific tools aren't installed:
osv-scanner -r .
Auto-detects go.sum, Cargo.lock, requirements.txt, poetry.lock, pnpm-lock.yaml. Uses the OSV.dev database.
# Go
go-licenses check ./... --allowed_licenses=Apache-2.0,MIT,BSD-3-Clause
# Rust
cargo deny check licenses
# Python
pip-licenses --format=json
Flag any dependency with a license not in: Apache-2.0, MIT, BSD-2-Clause, BSD-3-Clause, ISC, MPL-2.0.
After any dependency change, review the diff for red flags:
git diff HEAD~1 -- go.sum Cargo.lock requirements.txt pyproject.toml
Red flags to look for:
requets, crytpo, coloura)For Python, inspect setup.py for suspicious install hooks:
grep -rn 'subprocess\|os\.system\|exec(' setup.py
## Dependency Audit Results
### Vulnerabilities
- **CRITICAL**: <package> <version> — <CVE-ID> — fix: upgrade to <fixed_version>
- **HIGH**: <package> <version> — <advisory> — fix: <action>
### License Issues
- <package>: <license> — not in allowed list
### Supply Chain
- No red flags detected / <specific concerns>
govulncheck reachability analysis is Go-only — other tools just check version rangescargo audit reads Cargo.lock, not Cargo.toml. If no lockfile exists, run cargo generate-lockfile first.pip-audit scans the active environment by default. Use -r requirements.txt for file-based scanning.osv-scanner is the best cross-ecosystem fallback but lacks reachability analysis (except experimental Go support)npx claudepluginhub rsturla/skillsGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Synthesizes the current conversation into a structured spec (PRD) and publishes it to the project issue tracker with a ready-for-agent label, without interviewing the user.