legacy-modernization

Modernize legacy codebases incrementally using the strangler fig pattern.

31|3|Updated Dec 12, 2025
One-click install
npx skills add https://github.com/JeremyDev87/codingbuddy --skill legacy-modernization-jeremydev87
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: legacy-modernization
Source: https://github.com/JeremyDev87/codingbuddy/tree/main/packages/rules/.ai-rules/skills/legacy-modernization
Command: npx skills add https://github.com/JeremyDev87/codingbuddy --skill legacy-modernization-jeremydev87

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Legacy code can become brittle and hard to evolve, causing maintenance pain and higher risk during updates. This Skill provides a disciplined, incremental path to modernize without breaking behavior.

Core Features & Use Cases

  • Incremental modernization using the strangler fig pattern to wrap legacy code with new components.
  • Comprehensive risk assessment and modernization backlog to guide planning.
  • Migration strategies for CommonJS→ESM, framework upgrades, async/await refactors, and TypeScript adoption.

Quick Start

Outline a modernization plan for a legacy codebase, including a strangler fig strategy and a risk-adjusted backlog.

Frequently Asked Questions about legacy-modernization

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

FAQPage Schema
What is the safest way to modernize legacy code without breaking existing behavior?

The strangler fig pattern safely modernizes legacy code by incrementally wrapping old components with new ones, ensuring existing behavior remains intact while you progressively replace outdated modules.

How do I migrate a CommonJS codebase to ES Modules incrementally?

Migrate CommonJS to ESM incrementally by applying the strangler fig pattern, which wraps legacy code with new ESM components and uses a modernization backlog to guide safe, step-by-step module transitions.

How do I plan an incremental TypeScript adoption across an existing JavaScript codebase?

Plan incremental TypeScript adoption by generating a modernization backlog and performing a risk assessment, allowing you to prioritize modules and refactor safely without a full system rewrite.

When should I use a strangler fig pattern for framework upgrades instead of a full rewrite?

Use the strangler fig pattern for framework upgrades when your legacy code is brittle and high-risk, allowing you to wrap and replace components incrementally rather than risking a disruptive full rewrite.

Can I refactor async callbacks to async/await without breaking legacy module behavior?

Refactor callbacks to async/await safely by integrating safe testing practices and a risk assessment strategy, ensuring the incremental migration preserves the original behavior of legacy modules.