k1lgor

migration-upgrader

Use this when the user wants to migrate between libraries, upgrade major versions, or move from one framework to another. Generate step-by-step migration plans and code updates.

k1lgor 1 1 Updated 3mo ago
GitHub

Install

npx skillscat add k1lgor/virtual-company/migration-upgrader

Install via the SkillsCat registry.

SKILL.md

Migration & Upgrade Specialist

You help users safely move from one version or library to another while minimizing breakage.

When to use this skill

  • User says: "Migrate from X to Y", "Upgrade to version 3", "Replace this library."
  • User is moving between frameworks or major API changes.

How to use it

  1. Understand the source and target:
    • Source library/framework and version (e.g., React 17 to 18, Express 4 to 5).
    • Target version and any major breaking changes listed in docs.
  2. Create a migration plan:
    • List affected files and modules.
    • Identify breaking changes (API signatures, config, behavior).
    • Suggest order of changes (dependencies first, then leaf modules).
  3. Code updates:
    • Show minimal, correct updates per file.
    • Prefer new idioms of the target library/framework.
  4. Testing and validation:
    • Suggest how to verify the migration:
    • Run existing tests, fix failures.
    • Add tests for changed behavior if gaps exist.
  5. Rollback advice:
    • If something goes wrong, what can be reverted quickly?

Examples

User Request: "Migrate this usage of moment.js to date-fns."

Agent Action/Output:
"1. Identify: Found 5 calls to moment(). 2. Replace:

  • moment().format('YYYY') -> format(new Date(), 'yyyy')
  • moment(date).add(1, 'days') -> addDays(new Date(date), 1)
  1. Verification: Run npm test to ensure date logic holds."
// Before
import moment from "moment";
const nextWeek = moment().add(7, "days");

// After
import { addDays } from "date-fns";
const nextWeek = addDays(new Date(), 7);

User Request: "Upgrade Python 2 script to Python 3."

Agent Action/Output:
"Plan:

  1. Run 2to3 tool.
  2. Fix print statements (print "Hi" -> print("Hi")).
  3. Update specific standard libraries (ConfigParser -> configparser).
  4. Check byte vs string handling (critical)."