introduce-dependencies-conservatively

Guides deliberate evaluation and management of package dependencies in software projects.

1|Updated Aug 11, 2026
One-click install
npx skills add https://github.com/0xMuluh/package-development-skills --skill introduce-dependencies-conservatively-0xmuluh
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: introduce-dependencies-conservatively
Source: https://github.com/0xMuluh/package-development-skills/tree/main/introduce-dependencies-conservatively
Command: npx skills add https://github.com/0xMuluh/package-development-skills --skill introduce-dependencies-conservatively-0xmuluh

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams often add, upgrade, or remove package dependencies casually, leading to bloated installs, version conflicts, private API coupling, and unmaintainable codebases. This Skill enforces a disciplined decision process so every dependency change is justified, scoped, and uses only stable public interfaces. ## Core Features & Use Cases - Structured Dependency Evaluation: Requires an explicit capability statement and reuse analysis across the language, existing code, current dependencies, and ecosystem before adding anything new. - Role Classification and Versioning Rules: Distinguishes required, optional, test, and documentation dependencies, and demands concrete justification for minimum version constraints. - Scoped Change Management: Enforces one semantic dependency change per PR, with checklists and templates for additions, removals, replacements, and upgrades. - Use Case: When adding penalized regression to an R package, the Skill guides you to confirm no existing dependency covers it, select a maintained library like glmnet, call only its public API, and isolate the change in its own PR. ## Quick Start Ask the AI to evaluate whether adding a specific package dependency to your project is justified and to produce the dependency statement and PR scope for the change.

Frequently Asked Questions about introduce-dependencies-conservatively

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I decide whether to add a new package dependency?▼

Define the concrete capability you need, then check the language standard library, existing package code, current dependencies, and the ecosystem in that order. Add a new dependency only when it provides substantial durable value that existing options cannot.

When should a dependency be optional instead of required?▼

Make a dependency optional when only one specialized method, plotting feature, uncommon file format, or external ecosystem integration needs it. Keep it required only when core exported functionality cannot work without it.

Is it safe to use internal or private APIs from a dependency?▼

No. Depending on undocumented internals like triple-colon helpers creates fragile coupling that breaks on upstream updates. Prefer documented public APIs, a minimal local implementation, or an upstream contribution instead.

How should I set minimum version requirements for dependencies?▼

Tie each minimum version to a concrete required capability, such as a function introduced in that release. Avoid raising versions merely because a newer release exists, since that unnecessarily excludes users and build environments.

Can I remove a dependency and refactor code in the same pull request?▼

No. Dependency additions, removals, and replacements should each be semantically isolated in their own PR. Combining them with unrelated refactoring obscures the change rationale and complicates review and rollback.