Install
$ agentstack add skill-khasky-awesome-agent-skills-awesome-dependency-upgrade ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Dependency Upgrade
Execute dependency upgrades so that each step is verified and each batch is revertable. The failure mode this skill exists to prevent: a bulk bump to latest, a green-looking build, and a runtime break three days later that git bisect can't isolate because fifteen packages moved in one commit.
When to Activate
- "Upgrade/update dependencies", "bump X to v9", "fix
npm audit", a bot PR needs handling. - An awesome-dependency-audit report produced findings to remediate — this skill is its acting half.
Do not activate to decide whether a package is risky (the audit owns detection) or to add a new dependency (ask-first, outside both skills).
Work Process
- Inventory before touching — for each candidate: current resolved version (lockfile, not manifest), target version, direct or transitive, and why it's moving (security fix, feature need, hygiene). No reason → it waits; churn is not hygiene.
- Classify by risk and batch accordingly — lockfile-only refreshes and patch/minor bumps of well-locked packages batch together; every major goes alone, one at a time. Security-driven bumps jump the queue but follow the same verification.
- One upgrade concern per commit — never mix an upgrade with feature work or refactoring; the commit message names what moved and why. A batch is one revertable unit: if it breaks, one
git revertrestores the world. - Majors are changelog-driven, not semver-trusted — read the release notes and migration guide for every major: the breaking-changes list is the work plan, not a formality. Run the project's codemod where one is offered before hand-editing. Semver is a promise, not a guarantee — treat "minor" bumps of frameworks and build tooling with major-grade suspicion, and check the installed version's own docs for renamed APIs rather than trusting memory.
- Verify between batches, not at the end — after each batch: install from lockfile, typecheck/build, full test suite, and read the output (exit codes, not vibes). A failure identifies its batch immediately; that is the entire point of batching.
- Review the lockfile diff as code — every added or changed entry accounted for by the manifest change that caused it; a surprise new package, a changed registry URL, or a new install script in the diff is a stop-and-investigate, not a shrug (
awesome-dependency-auditTrack A/B rules apply to the diff). - Unfixed transitive CVE — when no upstream fix exists: pin with
overrides/resolutions/constraints, comment the CVE id and the removal condition ("remove whensend≥ 0.19 reachesexpress"), and record it in the report. An override without a removal condition is how temporary pins become permanent archaeology. - Bot PRs get the same treatment — automerge only patch-level bumps with a lockfile and a trustworthy CI suite; group bumps regenerate, never hand-merge conflicting lockfiles. A bot PR whose lockfile diff contains more than its manifest claims is declined and investigated.
Rules
- Pin build-time executors exactly — anything running at build/CI time (
npx pkg@x.y.z, codegen, formatters) moves by explicit pin, never floats. - Deprecated before deleted — an upgrade that surfaces deprecation warnings schedules their fixes now, while the migration guide is open; ignoring them stores the same work for a worse day.
- Peer-dependency conflicts are decisions — forcing resolution (
--force,--legacy-peer-deps) hides an incompatibility; resolve it by choosing versions, or record the accepted mismatch and why. - Ecosystem-agnostic — the same discipline holds for
package.json/lockfile,requirements.txt/poetry.lock,go.mod,Cargo.toml,pom.xml/gradle,Gemfile.lock; only the freeze and override mechanisms change names.
Output Format
Dependency Upgrade — —
Upgraded:
- → [major|minor|patch] — — verified:
Pinned (no fix available):
- — — override with removal condition:
Deferred:
- —
Batches:
Lockfile diff:
Remaining risk:
Anti-patterns
| Anti-pattern | Instead | |---|---| | Bulk bump to latest in one commit | Risk-classified batches, majors alone | | Upgrade mixed into a feature branch | Its own commit/PR, named and revertable | | Trusting semver over the changelog | Release notes read for every major; codemods run | | Silencing the scanner with an unconditioned override | CVE id + removal condition, recorded in the report | | Verifying once at the end of fifteen bumps | Verification between batches — failures name their batch | | Hand-merging a conflicted lockfile | Regenerate from the manifest; lockfiles are outputs, not sources | | --legacy-peer-deps as a reflex | Resolve the conflict or record the accepted mismatch |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: khasky
- Source: khasky/awesome-agent-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.