skills/stack-modernization/SKILL.md
Modernize a project's stack — outdated dependencies, dead/unused packages, deprecated packages, and framework-pattern drift (old patterns lingering after a major upgrade). Verifies the current latest of each package before proposing an upgrade, then applies changes incrementally with tests between each. Use when asked to update dependencies, modernize the stack, remove dead packages, or migrate stale framework patterns, across frontend and backend.
npx skillsauth add shipshitdev/library stack-modernizationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Keep a project on current, minimal, idiomatic dependencies. Three jobs: upgrade what
is behind, delete what is unused, and migrate patterns a major upgrade left stranded
(the v3 config still sitting in a v4 repo). Edits package.json and source, so it
runs behind a confirmation gate and verifies before it upgrades.
Never trust training data for a version number — the current latest is looked up, not recalled.
Inputs:
deps / dead / patterns / all, default all).Outputs:
Creates/Modifies:
package.json, lockfile, and source during pattern migration. Only after the
plan is approved.External Side Effects:
bun install/upgrade commands; WebSearch to confirm latest versions. No deploys.Confirmation Required:
Delegates To:
refactor-code when a migration is a real code refactor, not a mechanical swap.dependency-audit for the security/CVE angle (this skill is about currency, that
one about vulnerability).bun outdated # what is behind, and by how much (patch / minor / major)
bun pm ls # installed tree
# Dead/unused packages: run knip or depcheck if present; else grep imports per dep.
Also flag framework-pattern drift — a stale lockfile or config alongside a newer major:
npm/yarn/pnpm lockfiles or install commands in a Bun project.tailwind.config.{js,ts} or @apply/@tailwind directives in a Tailwind v4
project (v4 configures in the CSS @theme block).middleware.ts where the framework's current major expects proxy.ts.For each candidate upgrade, confirm the current latest with WebSearch (npm/GitHub
releases) — do not use a version from memory. Note the target major and whether the
package publishes a breaking-change / migration guide.
## Stack Modernization Plan — <repo>
### Upgrade
| Package | Current | Latest | Jump | Migration |
|---------|---------|--------|------|-----------|
| <name> | x.y.z | a.b.c | major/minor/patch | <link or "none"> |
### Remove (unused)
- <package> — no imports found
### Pattern migration
- <stale pattern> → <current pattern>
Order the work: security/patch and minor upgrades first (low risk), then majors with migrations one at a time, then dead-package removal, then pattern migration.
One change at a time; tests between each so a regression is attributable:
bun add <pkg>@<verified-latest> # or `bun remove <pkg>` for dead deps
bun run type-check || bunx tsc --noEmit
bun run test <affected-area>
Commit each successful step so any failure rolls back cleanly. For a major with a migration guide, follow it explicitly rather than guessing the new API.
bun add.development
Coordinates a weekly engineering review of board accuracy, recent code changes, operational health, and scoped cleanup. Use for a recurring repository health review or a review of the last several days.
testing
Audits project board configuration and prepares explicitly requested setup, copy, or normalization changes while preserving the existing workflow and provider boundaries. Use when inspecting a board's fields, columns, scope, or configuration.
testing
Reconciles a project board with current work and delivery evidence, reports incomplete coverage and metadata gaps, and applies only approved provider-supported field changes. Use when auditing board drift, reviewing blocked work, or assessing upcoming delivery.
development
Walk through how a subsystem works. Use for "how does X work", code walkthroughs before changing something, and placement or ownership questions. Explains architecture, runtime flow, and onboarding mental models. Can critique architecture. Use why for motivation.