update-major-deps

Group coupled JavaScript devDependencies and evaluate breakage risk for major updates.

47|14|Updated Jan 8, 2020
One-click install
npx skills add https://github.com/makeup/makeup-js --skill update-major-deps
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: update-major-deps
Source: https://github.com/makeup/makeup-js/tree/main/.claude/skills/update-major-deps
Command: npx skills add https://github.com/makeup/makeup-js --skill update-major-deps

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Managing major version updates of devDependencies in a JavaScript monorepo is high-risk: uncoordinated updates can break builds, introduce hard-to-trace regressions, and create commit histories that are impossible to bisect when issues arise.

Core Features & Use Cases

  • Logical dependency grouping: Automatically clusters coupled packages (e.g. all @babel/* scoped packages) into single update sets to avoid partial, broken dependency states.
  • Breakage risk assessment: Evaluates each group's risk level based on its role in the build pipeline, real usage breadth across the codebase, changelog red flags, and compatibility with the active Node.js runtime.
  • Test-gated safe commits: Only creates a signed commit for a group if the build and all tests pass, never pushes changes automatically, and pauses for user confirmation on medium or high-risk updates. Use Case: A team maintaining the makeup-js monorepo can use this skill to safely upgrade @babel/core from v7 to v8, with all related Babel packages updated together, full test validation, and a single revertable commit if any issues are found.

Quick Start

Invoke the update-major-deps skill with the argument 'all' to process every available major devDependency update in the monorepo, with automatic risk assessment and test gating for each group.

Frequently Asked Questions about update-major-deps

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

FAQPage Schema
How do I safely update major dependencies in a JavaScript monorepo without breaking the build?

Major dependency updates in a JavaScript monorepo are automated by grouping coupled packages, assessing breakage risk, and gating commits behind passing tests. It pauses for user confirmation on medium or high-risk groups.

What is the best way to group coupled npm packages for major version updates?

Coupled npm packages are automatically clustered into single update sets by scope, like grouping all @babel/* packages together. This prevents partial dependency updates and broken states.

How does risk assessment work for devDependencies updates in Node.js projects?

Risk assessment evaluates each dependency group's role in the build pipeline, real usage breadth, changelog red flags, and active Node.js runtime compatibility to determine its breakage risk level.

Can I preserve my lockfile and require manual approval for high-risk npm updates?

Yes, lockfiles are preserved and manual approval is required for high-risk npm updates. The workflow pauses for user confirmation on medium and high-risk groups and never pushes changes automatically.

Does updating major devDependencies create a revertable git commit if tests fail?

A signed git commit for major devDependencies is created only if the build and all tests pass. Failed tests halt the update, ensuring only validated dependency groups receive revertable commits.

Why should I group monorepo dependency updates instead of upgrading packages individually?

Grouping monorepo dependency updates prevents uncoordinated updates that break builds, introduce regressions, and create commit histories impossible to bisect. Coupled packages update together to maintain build stability.