legacy-modernization
Legacy Modernization
Expert guidance for safe, incremental modernization of legacy systems, frameworks, and dependencies using proven migration patterns and risk mitigation strategies.
When to Use This Skill
- Planning framework migrations (jQuery to React, Java 8 to 17, Python 2 to 3)
- Decomposing monoliths into microservices or modular architectures
- Modernizing databases (stored procedures to ORMs, schema migrations)
- Reducing technical debt with a phased, low-risk approach
- Updating outdated dependencies with backward compatibility concerns
- Establishing test coverage for untested legacy code before refactoring
- Designing rollback procedures for migration phases
- Implementing feature flags for gradual rollout of modernized components
Quick Reference
| Task | Load reference |
|---|---|
| Strangler fig, feature flags, migration checklists, rollback procedures | skills/legacy-modernization/references/modernization-patterns.md |
Workflow
1. Assessment
Inventory legacy components, risks, and dependencies before changing anything.
- Map the dependency graph and identify high-risk areas
- Define modernization goals and phased milestones
- Establish success metrics (test coverage, performance, defect rate)
- Prioritize based on business value and risk
2. Safety Net Setup
Establish guardrails before any migration work begins.
- Add characterization tests for existing behavior
- Set up feature flags for gradual rollout
- Create compatibility layers and adapter interfaces
- Document current behavior and integration points
3. Incremental Execution
Apply the strangler fig pattern: replace components one at a time.
- Route traffic gradually to new implementations
- Maintain backward compatibility at every step
- Run old and new paths in parallel where possible
- Monitor for regressions continuously
4. Stabilization
Validate the migration and retire legacy paths.
- Run full regression suites against new implementations
- Monitor adoption metrics and error rates
- Deprecate and remove legacy code paths
- Document the new architecture and migration decisions
Common Mistakes
- Attempting big-bang rewrites instead of incremental migration
- Refactoring without tests covering existing behavior
- Removing backward compatibility before all consumers migrate
- Skipping rollback planning for each migration phase
- Ignoring data migration complexity and state synchronization
- Not involving stakeholders in deprecation timelines
More from nickcrew/claude-cortex
owasp-top-10
OWASP Top 10 security vulnerabilities with detection and remediation patterns. Use when conducting security audits, implementing secure coding practices, or reviewing code for common security vulnerabilities.
10codanna-codebase-intelligence
Use codanna MCP tools for semantic code search, call graphs, and impact analysis before grep/find.
4mermaid-diagramming
>-
3python-testing-patterns
Python testing patterns and best practices using pytest, mocking, and property-based testing. Use when writing unit tests, integration tests, or implementing test-driven development in Python projects.
3tutorial-design
>-
2python-performance-optimization
Python performance optimization patterns using profiling, algorithmic improvements, and acceleration techniques. Use when optimizing slow Python code, reducing memory usage, or improving application throughput and latency.
2