Audit dependencies
Skill lisa-tarbo/LLM-integration-play/.agents/skills/audit-dependencies
Built while contributing to open-chat-studio to compare LLM APIs & repeat bugs. Experimenting with AI assisted dev
npx -y skills add lisa-tarbo/LLM-integration-play --skill audit-dependenciesAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Run a dependency audit for this project's plain requirements.txt (Python, no pip-tools, no JS). Produces report, applies safe bumps, emits Jira-ready ticket list for risky items. Use on demand or for periodic maintenance.
SKILL.md
4.0 KB, 897 tokens by cl100k_base, as published. Nobody here has run it
Audit Dependencies
Overview
Audit of this project's direct dependencies, pinned in requirements.txt, against PyPI and known-vulnerability data. Produces docs/dependency-audit-YYYY-MM-DD.md, applies safe bumps directly to requirements.txt, and emits a ticket list for risky ones.
This project has a single ecosystem: Python via a flat requirements.txt (no .in/pip-tools compile step, no JS/npm). Skip any tooling not present — there is no lockfile-compile workflow here.
Step 0: Discover project structure
- Confirm the venv (
.venv) is active; if not, activate it per README.md. - Install current pins:
pip install -r requirements.txt. - Snapshot direct deps from
requirements.txt— this is both the direct-dep list and the pin file (no separate lockfile).
Steps
-
Check installed vs. latest:
pip list --outdatedfor the installed venv, cross-referenced against the names inrequirements.txt(ignore transitive-only packages that aren't direct deps). -
Check for known vulnerabilities: run
pip-auditwith no arguments, against the active venv — do not usepip-audit -r requirements.txt; that flag makes it build an isolated resolver venv viaensurepip, which fails in environments withoutpython3-venvinstalled. This is the sole vulnerability source — no separate PyPI/OSV/endoflife.date queries needed for a project this size. Flag any direct dep (one listed inrequirements.txt) that appears in the results. -
Classify each direct dep into one of two buckets (see Classification below):
- Bump now — patch/minor bump, or a major bump with no breaking API surface change for this project's usage (spot-check with
grep/notebook read). - Needs a look — major version bump where the API surface likely changed, or a transitive conflict shows up (e.g. another installed package pins an incompatible range).
- Bump now — patch/minor bump, or a major bump with no breaking API surface change for this project's usage (spot-check with
Report and tickets
-
Write report to
docs/dependency-audit-<today>.mdwith:- Process section: tools used (
pip list --outdated,pip-audit), source file audited (requirements.txt). - Summary (dep counts per bucket)
- Per-package table: current version, latest version, bucket, CVE/advisory IDs if any, action
- "Bumps applied" list
- "Tickets to file" list (needs-a-look items)
- Process section: tools used (
-
Apply "bump now" changes directly to
requirements.txt(edit the==pin), thenpip install -r requirements.txt.After applying, smoke-test by importing each bumped package in the venv (this project has no test suite — it's notebooks, not a package with pytest coverage). If an import fails or errors obviously, move that package to "needs a look" and revert its pin.
-
Emit ticket list for "needs a look" items to
docs/dependency-audit-<today>-tickets.mdusing Jira-ready format (title, current→target, risk, references, and whether it's blocked by a transitive conflict). Skip creating this file entirely if the "needs a look" bucket is empty — don't emit an empty tickets file. -
Commit the applied bumps in a single commit covering the
requirements.txtchange. Do not commit the audit report or ticket list — leave those for the operator. Do not push or open a PR.
Classification
- Bump now: patch/minor, or a major bump verified not to touch this project's usage.
- Needs a look: major bump with likely breaking changes, active CVE with no compatible fix short of a breaking upgrade, or a transitive dependency conflict (e.g.
pip installreports an incompatible range).
When to invoke
- On demand, or periodically as maintenance.
- After noticing a security advisory for one of the direct deps.
References
- PyPI: https://pypi.org
- OSV vulnerability DB (used by
pip-audit): https://osv.dev
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.