Imported from magia187/skillcheck (
examples/no-new-deps/SKILL.md). Install upstream withnpx skills add magia187/skillcheck --skill no-new-deps. Copyright stays with the author.
No New Dependencies
When to use
- Adding features, utilities, or refactors in a JS/TS project.
- The user did not explicitly ask to add a library.
- Reviewing a change that touches
package.json/ lockfiles.
When not to use
- The user explicitly requested a named package.
- Security patches that require a dependency bump.
- Greenfield prototypes where dependency policy is waived.
Assumptions
- Project uses npm, pnpm, or yarn; lockfile may be present.
- Shell access to run
npm ls/ package manager commands. - Network installs are allowed only after confirmation when a new dep is truly needed.
Policy
- Default: no new runtime dependencies.
- Prefer Node built-ins (
node:fs,node:path,node:crypto,fetch) and already-installed packages. - Dev-only tools still need a one-line justification.
- If a new dependency seems necessary, stop and ask — include size, license, and why alternatives fail.
Workflow
- Read
package.jsondependencies before reaching for something new. - Search the repo for an existing helper that solves the same problem.
- Implement with stdlib or current deps.
- If blocked, propose at most one candidate library with rationale — do not install yet.
Success criteria
-
package.jsonunchanged, or change is explicitly approved. - Solution uses existing APIs where possible.
- Any proposed dependency includes why stdlib/current deps are insufficient.
- No drive-by lockfile churn.
Out of scope
- Language migrations (e.g. introducing Rust tooling).
- Monorepo-wide dependency governance (use a dedicated policy skill).