agentsclimarketplace

Dependency assessment

Skill varunk130/ai-workflow-playbooks/skills/dependency-assessment

Production-grade playbooks for AI coding agents across the full software delivery pipeline. 21 playbooks, 10 agent skills, 4 specialist guardians, and 5 runbooks — from discovery through operations.

Install
npx -y skills add varunk130/ai-workflow-playbooks --skill dependency-assessment

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 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

Evaluate whether to add, update, or remove a dependency based on maintenance, security, size, and licensing criteria.

SKILL.md

5.1 KB, as published. Nobody here has run it

Dependency Assessment

What This Skill Enables

Agents with this skill can make disciplined decisions about third-party packages instead of reflexively running npm install or pip install at the first sign of complexity. Without it, agents accumulate dependencies that bloat bundles, introduce supply-chain risk, and create upgrade nightmares. A skilled agent treats every new dependency as a long-term commitment and evaluates it accordingly.

Core Competencies

1. Apply the "Do We Really Need This?" Checklist

Before adding any package, answer every question honestly:

QuestionGuidance
Does the standard library already cover this?Check built-ins first. fetch exists natively; you may not need axios.
Is the functionality fewer than ~50 lines to implement?A leftPad situation. Write it yourself.
Will this dependency be used in more than one place?A single call site rarely justifies a new dependency.
Does the project already have a similar package?Two date libraries in one project is a code smell.
Is this a direct dependency or only needed at build time?Dev dependencies carry less runtime risk but still need auditing.

If you answer "no need" to any of the first four questions, stop. Write the code inline or use what already exists.

2. Evaluate Package Health

Never install a package without checking its vital signs:

SignalHealthyWarningCritical
Last commitWithin 3 months3-12 months agoOver 1 year ago
Open issuesTriaged, responsive maintainersGrowing backlogHundreds unaddressed
Weekly downloadsStable or growingDeclining steadilyUnder 1,000
Bus factor3+ active contributors2 contributorsSingle maintainer
Release cadenceRegular semver releasesSporadicNo releases in 12+ months
Test suiteCI passing, good coverageCI present but flakyNo CI at all

Use npm info <pkg>, GitHub insights, or equivalent tooling to gather these signals. Do not guess.

3. Measure Bundle Size Impact

For frontend projects, size is a first-class concern:

# Check before installing
npx bundlephobia <package-name>

# After installing, compare
npx webpack-bundle-analyzer stats.json

Rule of thumb: if a utility package adds more than 10 KB minified+gzipped for a function you could write in 30 lines, write it yourself. For backend projects, size matters less but startup time and memory footprint still count.

4. Verify License Compatibility

Every dependency carries a license. Common compatibility:

Project LicenseCompatible Dependency LicensesIncompatible
MITMIT, BSD, ISC, Apache-2.0GPL, AGPL (viral)
Apache-2.0MIT, BSD, ISC, Apache-2.0GPL, AGPL
GPL-3.0MIT, BSD, ISC, Apache-2.0, GPLAGPL (depending on use)
ProprietaryMIT, BSD, ISC, Apache-2.0GPL, AGPL, SSPL

Run npx license-checker or pip-licenses and flag anything viral or unknown. Packages with no license declared are legally risky -- treat them as proprietary.

5. Decide: Install, Vendor, or Write Your Own

StrategyWhen to Use
Install normallyPackage is healthy, well-maintained, widely used, license-compatible, and provides substantial functionality.
Vendor (copy source into repo)Package is small, stable, and unlikely to change, but you want to avoid a network dependency or the package is archived. Pin the version and note the origin.
Write your ownThe needed functionality is small, the package is unhealthy, or you need tight control over behavior and performance.

Behavioral Rules

  1. Never add a dependency without explicitly evaluating the checklist in competency 1.
  2. Always verify the license is compatible with the project before installing.
  3. Always check for an existing package in the project that serves the same purpose before adding a new one.
  4. Run a security audit (npm audit, pip audit, cargo audit) after adding or updating any dependency.
  5. Pin dependency versions in lockfiles and commit the lockfile with the same PR that adds the dependency.

Failure Modes

FailureSymptomCorrection
Dependency hoardingpackage.json grows by one package per task.Apply the "do we need this?" checklist every time.
Abandoned dependencyBuild breaks months later because an unmaintained package conflicts.Check health signals before adopting; set calendar reminders to re-evaluate.
License violationLegal flags a GPL dependency in a proprietary product.Run license checks in CI; block incompatible licenses automatically.
Bundle bloatPage load time degrades after adding a "small" utility.Measure size impact before merging; set bundle budgets in CI.
Duplicate functionalityTwo packages that do the same thing coexist in the project.Audit existing dependencies before proposing a new one; consolidate.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.