upgrade-packages
Skill2 starsChanged 40 days agoMITView on GitHub
Upgrades npm/pnpm dependencies safely: patch and minor first, framework majors (Next.js, React) with official or community codemods and code fixes. Use when the user asks to update, upgrade, or bump packages, reduce outdated deps, or migrate to a new major of Next, React, TypeScript, Tailwind, or Biome/ESLint.
- Deletes or force-pushes
- Installs packages
3 other projects use a version of this.
Adopted by
Most recently taken up by
- maotoumao/Cebiantheir own version, first seen Oct 24, 2026
- MelbourneDeveloper/dart_nodetheir own version, first seen Oct 9, 2026
- platformplatform/PlatformPlatformtheir own version, first seen May 15, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- platformplatform/PlatformPlatform★ 439same name
- maotoumao/Cebian★ 181same name
- MelbourneDeveloper/dart_node★ 113same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository49 other files it gives its agents.
- AGENTS.mdAGENTS.md
- adversarial-auditSkill
- agentic-reactorSkill
- agent-orchestratorSkill
- ai-optimizationSkill
- architecture-synthesisSkill
- audit-allow-buildsSkill
- audit-ide-dependenciesSkill
- author-workflow-skillSkill
- bdd-strategizerSkill
- chrome-extension-mv3Skill
- concurrent-cli-agentsSkill
- control-feederSkill
- control-graphSkill
- cursor-transcript-harvestSkill
- cv-promote-guardSkill
- devcontainer-hardenedSkill
- dual-copy-skill-publishSkill
- explore-repo-readonlySkill
- finder-reactorSkill
- fix-dependency-securitySkill
- fusion-sageSkill
- git-worktreesSkill
- grok-host-prepSkill
- gt-flowSkill
- higher-order-decision-architectSkill
- looperSkill
- master-plannerSkill
- mvu-refactor-planSkill
- odysseus-navigatorSkill
- project-editor-profileSkill
- react-client-expertSkill
- semantic-markup-cssSkill
- semantic-nameSkill
- session-unit-orderSkill
- shell-kernel-ontologySkill
- skill-rename-propagationSkill
- split-to-prsSkill
- src-tree-reorganizeSkill
- stellar-roadmapSkill
- stellar-spacemapSkill
- subagent-delegationSkill
- subagent-explore-reportSkill
- supply-chain-hardenSkill
- tauri-agenticSkill
- tauri-ipc-debugSkill
- tidy-commit-pushSkill
- verification-cockpitSkill
- x-agent-resourcesSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. About 0 are common, 9 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 20
Install with SFW: when supply-chain hardening is enabled: sfw pnpm install / sfw pnpm update.
- Distinctive: line 69
Update everything that stays within existing semver ranges:
- Distinctive: line 93
Prefer one ecosystem group per PR (e.g.
- Distinctive: line 101
Read the official upgrade / migration doc for the target major.
- Distinctive: line 102
Check peer dependency requirements (e.g.
- Very specific: line 103
Search the repo for deprecated APIs (grep / semantic search).
- Very specific: line 121
Update matching pnpm overrides in pnpm-workspace.yaml when the project pins ecosystem packages (e.g.
- Distinctive: line 131
Run from repo root. Prefer official codemods first.
- Distinctive: line 150
Always read codemod output and review the git diff — codemods are incomplete.
- Very specific: line 155
Update next.config.*, postcss.config.*, and linter config (biome.json or eslint.config.*) per migration guides.
- Very specific: line 156
Run pnpm build and critical e2e paths (pnpm test:e2e).
- Very specific: line 165
Run pnpm why <package> — identify direct vs transitive path.
- Distinctive: line 174
If the lockfile still lists the bad version after changing overrides, regenerate:
- Very specific: line 187
If pnpm install resolves but runtime or lint breaks (e.g.
- Distinctive: line 190
Prefer removing or narrowing overrides over adding more pins.
- Distinctive: line 193
Do not stack overrides to silence breakage without understanding the semver mismatch.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Upgrade packages
Safe, incremental dependency upgrades for pnpm projects. Pair with fix-dependency-security for audit and install hardening.
Principles
- Prefer non-breaking upgrades — stay within semver ranges in
package.json(^,~) before jumping majors. - One logical change per commit — e.g. “bump patch/minors” vs “Next 15 → 16 + codemods”.
- Framework libs are worth major upgrades —
next,react,react-dom,typescript,tailwindcss, and the active linter (@biomejs/biomeoreslint) — but require changelog review, codemods, and code fixes; never bump only the version pin. - Keep related packages aligned — React + types + DOM; Next +
@next/envoverride; linter + its plugins (Biome or ESLint ecosystem). - Install with SFW when supply-chain hardening is enabled:
sfw pnpm install/sfw pnpm update.
Upgrade tiers
| Tier | Scope | Risk | Approach |
| A | Patch / minor within current range | Low | pnpm update, refresh lockfile |
| B | Minor outside range or low-level tools | Medium | Bump range in package.json, install, type-check |
| C | Framework / toolchain major | High | Read migration guide → codemods → manual fixes → full validate |
Tier C “hard deps” (treat as framework): next, react, react-dom, typescript, tailwindcss, @biomejs/biome or eslint, @playwright/test, and UI stacks tightly coupled to React (motion, react-pdf, @react-pdf/renderer).
Tier A/B examples: clsx, lucide-react, class-variance-authority, @radix-ui/*, postcss, autoprefixer — upgrade freely after quick smoke check.
Workflow checklist
- [ ] 1. Baseline: pnpm outdated [-r]
- [ ] 2. Classify each outdated pkg (tier A / B / C)
- [ ] 3. Tier A/B: bump + sfw pnpm install
- [ ] 4. Tier C: read upgrade guide + run codemods
- [ ] 5. Fix types, lint, runtime breakages in app code
- [ ] 6. Align pnpm-workspace.yaml overrides (e.g. @next/env); fix trust downgrades via why/bump/override
- [ ] 7. pnpm audit, type-check, lint, build, e2e if relevantStep 1: Discover what is outdated
pnpm outdated
pnpm outdated -r # include transitive (plan overrides if needed)Note current → wanted → latest and whether latest is a major bump.
pnpm why <package> # if a transitive blocks resolutionStep 2: Tier A — safe in-range updates
Update everything that stays within existing semver ranges:
sfw pnpm updateOr target packages:
sfw pnpm update lucide-react clsx tailwind-mergeRe-run pnpm outdated. If wanted equals latest for a package, Tier A is done for it.
Step 3: Tier B — bump ranges without framework majors
Edit package.json to the new minor (or patch) range, then:
sfw pnpm installPrefer one ecosystem group per PR (e.g. all Radix, or all dev tooling except ESLint).
Step 4: Tier C — framework major upgrades
4.1 Before bumping
- Read the official upgrade / migration doc for the target major.
- Check peer dependency requirements (e.g. Next 16 + React 19).
- Search the repo for deprecated APIs (
grep/ semantic search). - Note codemods listed below; run them after installing the new version unless the doc says otherwise.
4.2 Bump versions together
Example — keep React family in sync:
"next": "<target>",
"react": "^19.x",
"react-dom": "^19.x""@types/react": "^19.x",
"@types/react-dom": "^19.x"Update matching pnpm overrides in pnpm-workspace.yaml when the project pins ecosystem packages (e.g. @next/env with next).
sfw pnpm installRespect minimumReleaseAge — very new majors may not install until policy allows; do not disable policy without user approval.
4.3 Codemods and migration tools
Run from repo root. Prefer official codemods first; then community.
| Library | Command / tool | Notes |
| Next.js | npx @next/codemod@latest upgrade latest | Interactive upgrade + transforms; see Next upgrading |
| Next.js | npx @next/codemod@latest <transform> . | Specific transforms (e.g. new-link, metadata-to-viewport-export) — list via --help |
| React 19 | npx codemod@latest react/19/migration-recipe | React 19 upgrade |
| React 18→19 | npx react-codemod@latest rename-unsafe-lifecycles | Legacy patterns if needed |
| TypeScript | npx typescript-go / manual | TS 6+ — follow TS release notes; fix tsc errors |
| Biome | Bump @biomejs/biome; read Biome release notes | Biome-only repos |
| ESLint 9+ | npx @eslint/migrate-config | Other repos; flat config from .eslintrc |
| Tailwind 3→4 | npx @tailwindcss/upgrade | Upgrade guide |
| Playwright | Bump @playwright/test only; do not playwright install chromium when using host browser | See project E2E docs |
Community / general:
npx codemod@latest— catalog of recipes (codemod.com)npx npm-check-updates -u— only to propose version bumps; review diff carefully, do not blind commit
Always read codemod output and review the git diff — codemods are incomplete.
4.4 Manual follow-up
- Fix remaining
tscand linter errors (pnpm lint— Biome or ESLint per project). - Update
next.config.*,postcss.config.*, and linter config (biome.jsonoreslint.config.*) per migration guides. - Run
pnpm buildand critical e2e paths (pnpm test:e2e).
Step 5: Trust downgrades (ERR_PNPM_TRUST_DOWNGRADE)
With trustPolicy: no-downgrade (see fix-dependency-security), installs can fail on a specific version.
- Note the blocked package from the error.
- Run
pnpm why <package>— identify direct vs transitive path. - Resolve without
trustPolicyExclude:
| Path | Action |
Direct in package.json | Bump the direct dependency range |
| Transitive via upgradable parent | Bump parent so it depends on a trusted release (e.g. a direct dep that pulls the blocked package) |
| Parent stuck on old range | Add a targeted overrides entry in pnpm-workspace.yaml for a compatible newer version |
- If the lockfile still lists the bad version after changing overrides, regenerate:
rm -rf node_modules pnpm-lock.yaml
sfw pnpm install --no-frozen-lockfile- Confirm with
pnpm why <package>andpnpm install(lockfile policy check passes).
Step 6: Transitive / override conflicts
If pnpm install resolves but runtime or lint breaks (e.g. incompatible semver major after a trust override):
pnpm why <package>- Prefer removing or narrowing overrides over adding more pins.
- Re-run Tier A update for the conflicting subtree.
Do not stack overrides to silence breakage without understanding the semver mismatch.
Step 7: Validate
pnpm audit
pnpm type-check
pnpm lint
pnpm build
pnpm test:e2e # when UI/routing/auth changedReport to the user:
- What was upgraded (tier A/B/C)
- Codemods run and manual edits made
- Outdated packages intentionally deferred (and why)
- Any policy blocks (
minimumReleaseAge,trustPolicy)
Project-specific notes
See examples/README.md for battle-tested upgrade notes (e.g. Next.js portfolio / devprofile overlay).
Anti-patterns
- Jumping to
lateston all packages in one commit - Bumping
nextorreactwithout running codemods or reading the migration guide - Upgrading
@types/reactwithoutreact/react-dom - Using
pnpm update --lateston the whole tree without tier review - Leaving
pnpm outdatedzero while audit or build is red - Disabling
minimumReleaseAge/trustPolicyto force a bleeding-edge major trustPolicyExcludeinstead ofpnpm why+ bump oroverrides
Related skills
- audit-allow-builds — post-upgrade review of lifecycle-script packages in
allowBuilds - audit-ide-dependencies — editor extensions/plugins (not the project lockfile)
- fix-dependency-security — audit, SFW, workspace supply-chain policy
Related skills
- fix-dependency-security — audit, SFW,
trustPolicy, override patterns for trust downgrades
References
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

