About legacy-modernizer
A skill for teams modernizing legacy systems through incremental migration rather than full rewrites. It covers traffic routing, system boundaries, and data synchronization patterns.
Key features
- 01Plan incremental migration roadmaps
- 02Apply Strangler Fig and abstraction patterns
- 03Isolate domain models with anti-corruption layers
- 04Synchronize migrated data with CDC
- 05Assess priorities and plan rollbacks
Use cases
- 01Break a monolith into microservices gradually
- 02Keep data synchronized across old and new systems
- 03Replace legacy APIs while preserving compatibility
- 04Manage dual writes and traffic routing during migration
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill legacy-modernizerAfter installing, type/legacy-modernizerin Claude Code to confirm it loaded.
Details
From the project READMELegacy Modernizer
Purpose
Provides expertise in incrementally modernizing legacy systems without full rewrites. Specializes in migration patterns like Strangler Fig, Change Data Capture (CDC), and Anti-Corruption Layers to safely evolve systems while maintaining business continuity.
When to Use
- Planning migration from monolith to microservices
- Implementing Strangler Fig pattern
- Designing Anti-Corruption Layers between old and new systems
- Setting up Change Data Capture for data synchronization
- Modernizing legacy databases incrementally
- Replacing legacy APIs while maintaining compatibility
- Assessing legacy codebase for modernization priority
- Managing dual-write scenarios during transitions
Quick Start
Invoke this skill when:
- Migrating legacy monoliths to modern architectures
- Implementing Strangler Fig or Branch by Abstraction
- Designing Anti-Corruption Layers
- Setting up CDC for data sync between systems
- Planning incremental modernization roadmaps
Do NOT invoke when:
- Greenfield microservices design → use
/microservices-architect - General refactoring without migration → use
/refactoring-specialist - Database optimization without migration → use
/database-optimizer - API design without legacy concerns → use
/api-designer
Decision Framework
Migration Strategy?
├── Replace Incrementally
│ └── Strangler Fig: Route traffic to new service gradually
├── Abstract and Replace
│ └── Branch by Abstraction: Interface → implement new → switch
├── Data Sync Required
│ └── CDC with Debezium/similar for real-time sync
└── Protect New from Old
└── Anti-Corruption Layer: Translate between domains
Core Workflows
1. Strangler Fig Implementation
- Identify bounded context to extract
- Create facade/proxy in front of legacy system
- Build new service implementing same interface
- Route subset of traffic to new service
- Gradually increase traffic percentage
- Retire legacy component when fully migrated
2. Anti-Corruption Layer Setup
- Define clean domain model for new system
- Identify integration points with legacy
- Build translator layer between models
- Implement adapters for legacy APIs/data
- Add monitoring for translation failures
- Document mapping rules
3. CDC Data Migration
- Set up CDC tool (Debezium, AWS DMS)
- Configure change capture on legacy database
- Build consumer to apply changes to new system
- Handle schema differences with transformations
- Implement validation and reconciliation
- Plan cutover and fallback strategy
Best Practices
- Migrate incrementally—avoid big-bang rewrites
- Maintain feature parity during transition
- Use feature flags to control traffic routing
- Implement comprehensive monitoring during migration
- Keep legacy and new systems in sync until cutover
- Document all integration points and dependencies
Anti-Patterns
| Anti-Pattern | Problem | Correct Approach |
|---|---|---|
| Big-bang rewrite | High risk, long timeline | Incremental migration |
| No Anti-Corruption Layer | New system polluted by legacy | Isolate with ACL |
| Dual-write without CDC | Data inconsistency | Use CDC for sync |
| Migrating everything at once | Overwhelming complexity | Prioritize by business value |
| No rollback plan | Stuck if migration fails | Always plan fallback |
Comments
Markdown supported