Node supply chain
Agent Skills for maintaining high-quality open-source Node.js, TypeScript, Next.js, and React apps and packages - linting, type safety, testing, packaging and releases, and CI quality gates.
npx -y skills add Paldom/node-skills --skill node-supply-chainAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 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
Hardens the npm supply chain - lockfile discipline, Dependabot cooldown and groups, per-package-manager install-script policy, provenance verification, npm token hygiene, SHA-pinned Actions. Use when the user asks to secure dependencies, audit npm packages, respond to a compromised dependency, or pin actions. Not for repo settings like rulesets/secret scanning, or publishing.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
4.0 KB, as published. Nobody here has run it
node-supply-chain
Layers the defenses that made the difference in real npm attacks — and names
what each layer does not cover. The failures this skill fixes: models
recommend npm install in CI, blanket auto-merge for bot PRs (a documented
malware path), treat cooldowns as full protection, and apply npm-specific
script policies to pnpm/yarn repos where they do nothing.
When NOT to use
- GitHub repo settings (rulesets, secret scanning, PVR) → repo-settings
tooling outside this collection (e.g. the github-skills
repo-protectionsskill). - Publishing your own package with provenance →
node-release. - Fixing a CVE in your own code → ordinary dev work.
Workflow
- Baseline audit:
Reports: lockfile state, CI install command, Dependabot config (cooldown/groups), unpinned third-party actions, install-script policy for the repo's actual package manager.python3 "${CLAUDE_SKILL_DIR}/scripts/audit_supply_chain.py" - Lockfile discipline: committed lockfile; CI installs with
npm ci/pnpm install --frozen-lockfile/ yarn immutable — never bare install. - Dependabot (
.github/dependabot.yml): npm + github-actions ecosystems, weekly, grouped, cooldown — with its three real limits stated every time: security PRs bypass cooldown by design, transitive npm deps aren't covered, SHA-pinned actions don't alert. Never blanket auto-merge bot PRs — bot authorship has delivered malware on green CI; same review gate as humans. - Install-script policy per package manager (playbook table — npm's
current-major behavior, pnpm
onlyBuiltDependencies, yarnenableScripts): apply the mechanism the repo's PM actually honors; allowlist the few packages that genuinely need build scripts. - Provenance verification (
npm audit signatures— command version-gated in the playbook): treat as origin proof, never safety proof. - Token hygiene: no classic tokens; granular tokens with short lifetimes
for what OIDC can't cover; account-level trusted-publishing-only enforcement
(setup itself →
node-release). - Actions pinning: third-party actions SHA-pinned with version comments;
lint workflows with the checker from
node-cior zizmor. - Incident response (compromised upstream): the playbook checklist — determine exposure from the lockfile (exact resolved versions + install window), override/pin to known-good, document the window, then re-harden.
Output spec
Audit script clean (or every finding dispositioned); Dependabot config with cooldown+groups and no blanket auto-merge; per-PM script policy actually in force; pinning applied; the three cooldown limits stated in the report — never implied protection the config doesn't deliver.
Gotchas
- npm/pnpm/yarn script policies are different mechanisms — an npm-only answer in a pnpm repo protects nothing.
- A cooldown is a bet someone else finds the malware inside the window — layer it, don't rely on it.
overrides/resolutionsfix exposure fast but rot silently — date-stamp them and remove after upstream ships clean.- Version-gate npm CLI behaviors (script defaults, audit signatures) against npm's own docs at use time.
Files
references/supply-chain-playbook.md— layered model, per-PM script policy table, Dependabot config, provenance limits, token policy, incident checklist.scripts/audit_supply_chain.py— deterministic repo audit; non-zero exit on hard violations (no lockfile, bare install in CI, blanket bot auto-merge).