Audits a project's dependencies for supply-chain risk: version-matched advisories for direct dependencies and the full lockfile tree, abandoned or archived upstreams, npm publisher concentration, and install-time script execution. Use when asked to audit dependencies, assess supply-chain or third-party package risk, or review a dependency tree before an engagement.
Instructions your experts follow when using this skill.
Packaging adaptation by AutoGPT, 2026-09-25. Original authorship and licence are retained. Changes are limited to the recorded name, metadata and file references; see ATTRIBUTION.md in this skill package.
Generates a supply-chain risk report for a project's direct dependencies (npm, PyPI, Go), plus an advisory sweep of everything its lockfile resolves. Two deterministic scripts do the measuring; your job is the judgment they refuse to automate.
Every figure in this report is a claim about somebody else's project, and hand-collected
figures were measured wrong before this skill was rebuilt around scripts: GitHub
contributor counts said five-plus people maintain lodash where npm's ACL says one, and
gh saw zero downloads for a package that moves 164 million a week. Do not estimate
maintainer counts, downloads, staleness, or CVE history from gh, web search, or
memory — run the collector, and quote what it measured.
The scripts enforce two rules worth knowing before you read their output:
Run the following commands from this installed skill package's directory. Resolve
<project-dir> and <out-dir> to absolute paths before changing directories, so
the audited project and output location remain unchanged.
Confirm the target directory has manifests: package.json, pyproject.toml,
requirements*.txt, or go.mod. If none exist, say so and stop — do not audit an
ecosystem this collector does not parse by hand. Lockfiles read for exact versions
and the transitive sweep: package-lock.json/npm-shrinkwrap.json, uv.lock, and
a go 1.17+ go.mod. yarn.lock, pnpm-lock.yaml, and poetry.lock are not read —
the report says so when they are present, and versions fall back to pins or the
latest release.
Check gh auth status. Unauthenticated GitHub allows 60 requests/hour against 5,000,
and the collector makes several per dependency; expect repository criteria to come
back unassessable without it. Say so rather than fixing it silently.
Collect, then render. Put outputs somewhere outside the audited repository unless asked otherwise:
uv run scripts/collect.py <project-dir> --json <out-dir>/findings.json
uv run scripts/render.py <out-dir>/findings.json --out <out-dir>/report.md
Expect a few minutes for ~50 dependencies — several HTTP requests per dependency,
more with many Go modules, and slower without authenticated gh. If collect.py
exits non-zero, it is refusing to report — relay its message verbatim instead of
retrying or working around it.
Read report.md and findings.json. The report is the deliverable; the JSON carries
the datum behind every verdict when you need to cite one.
Add what the collector cannot, clearly separated from what it measured:
npm ci --ignore-scripts is viable for this
project's build.Write added prose the way a security report reads, and apply the same register to the report addendum and the final reply alike — replies get pasted into tickets and reports verbatim. State the finding, the datum behind it, and the action.
If the report-writing:writing-style skill is available in the session, follow it —
it is the full version of this register.
The rendered report carries facts only. The interpretive rules below are instructions to you, not content for the reader — do not copy them into the deliverable as caveats or framing.
gh can give me maintainer counts faster than the collector." Measured wrong — repo
contributors and registry publish rights are different populations.Files installed alongside these instructions.
Track and analyze portfolio company performance against plan. Ingests monthly/quarterly financial packages (Excel, PDF), extracts KPIs, flags variances to budget, and produces summary dashboards. Use when reviewing portfolio company financials, preparing board materials, or monitoring covenant compliance. Triggers on "review portfolio company", "monthly financials", "how is [company] performing", "covenant check", or "portfolio update".
Use to connect a number source, map an export into the finance ledger, or QA a sheet: the column mapping, the dedupe key, the load summary, and the checks that must pass before a read ships.
Use for the money side of a deal: the deal P&L, margin floors and discount bands, approval routing, the concession log, and the mix impact of a price change.