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.