dependency-upgrade

Upgrade Python or JavaScript dependencies to a safe target version and create a documented pull request.

3|7|Updated Nov 7, 2025
One-click install
npx skills add https://github.com/dimagi/dimagi-claude-workflows --skill dependency-upgrade-dimagi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dependency-upgrade
Source: https://github.com/dimagi/dimagi-claude-workflows/tree/main/plugins/commcare-tech/skills/dependency-upgrade
Command: npx skills add https://github.com/dimagi/dimagi-claude-workflows --skill dependency-upgrade-dimagi

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill reduces the risk and reviewer effort of upgrading project dependencies by locating a safe target version, summarizing upstream changes, assessing repository-specific impact, updating pins and lockfiles, and opening a documented pull request so reviewers can approve with confidence.

Core Features & Use Cases

  • Ecosystem detection: Detects whether a package is a Python or JavaScript dependency by scanning requirements files, pyproject.toml, package.json, and lockfiles.
  • Safe version selection: Applies rules to avoid brand-new major releases and very recent releases, preferring stable targets that are at least a week old unless a safe patch is available.
  • Changelog and impact analysis: Locates upstream changelogs and GitHub releases, summarizes notable changes, and searches the codebase for imports/usages to assess upgrade risk.
  • Automated upgrade workflow: Updates version pins, regenerates lockfiles when appropriate, creates a dependency-upgrade branch, and prepares a PR with a clear risk assessment and changelog summary.

Quick Start

Run the dependency-upgrade skill with the package name to detect the ecosystem, pick a safe target version, summarize notable changes and risk, update pins and lockfiles, and open a pull request.

Frequently Asked Questions about dependency-upgrade

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

FAQPage Schema
How do I safely upgrade Python dependencies in requirements files and pyproject.toml?

To safely upgrade Python dependencies, the Skill scans requirements files and pyproject.toml to select a stable target version, analyzes code imports for risk, updates version pins, and opens a documented pull request.

Can I upgrade JavaScript package.json dependencies and regenerate lockfiles automatically?

Yes, you can upgrade JavaScript dependencies by detecting the package in package.json, applying safe version selection rules, regenerating lockfiles when appropriate, and staging the changes on a dependency-upgrade branch.

What is the safest way to analyze dependency upgrade risk before opening a pull request?

The safest way to analyze dependency upgrade risk is to fetch PyPI or npm metadata and GitHub releases, summarize upstream changelogs, and search the codebase for imports and usages to assess repository-specific impact before creating a PR.

Does this dependency upgrade workflow avoid brand-new major releases?

Yes, the dependency upgrade workflow avoids brand-new major releases and very recent versions, preferring stable targets that are at least a week old unless a safe patch is available.

How do I summarize upstream changelots and GitHub releases for a dependency upgrade?

To summarize upstream changelogs, the Skill fetches PyPI or npm metadata alongside GitHub releases, extracts notable changes, and includes a clear risk assessment and changelog summary in the generated pull request.

What limitations exist when automating dependency upgrades across Python and JavaScript repositories?

Limitations include relying on the presence of requirements files, pyproject.toml, package.json, or lockfiles for ecosystem detection, and enforcing a minimum one-week age requirement for stable target versions unless a safe patch is available.