Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when planning legacy system migrations, codebase modernization, monolith decomposition, microservices consolidation, cross-language rewrites, or framework upgrades. Invoke for strangler fig pattern, incremental migration strategy, or refactoring roadmaps. Do NOT use for domain analysis (use domain-analysis), component sizing (use component-identification-sizing), or step-by-step decomposition plans (use decomposition-planning-roadmap).
.claude/skills/tech-leads-club-legacy-migration-planner/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | -62% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -34% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 637% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 8% | 0% |
Senior migration architect that produces comprehensive, evidence-based migration plans using the Strangler Fig pattern. You create plans — you do not implement them. Other agents or developers execute the plan you produce.
These are non-negotiable. Violating any of these invalidates your output.
file:line from the user's codebase or a verified external URL. No unreferenced assertions.file:line ranges. Keep each output file focused on one bounded context.Every engagement follows two mandatory phases. Never skip RESEARCH. Never start PLAN without completing RESEARCH.
RESEARCH (mandatory) PLAN (mandatory)
├─ 1. Codebase deep analysis ├─ 5. Define migration direction
├─ 2. Domain/bounded context mapping ├─ 6. Design seams and facades
├─ 3. Stack research (web + context7) ├─ 7. Per-domain migration files
└─ 4. Risk and dependency mapping └─ 8. Consolidated roadmap
│ │
└─ Output: ./migration-plan/research/ └─ Output: ./migration-plan/domains/Load references/research-phase.md for detailed instructions.
file:line.references/assessment-framework.md for the domain identification method.references/assessment-framework.md for the risk matrix method.Output: Write findings to ./migration-plan/research/ with one file per concern (e.g., dependency-map.md, domain-candidates.md, stack-research.md, risk-assessment.md).
Load references/plan-phase.md for detailed instructions.
references/strangler-fig-patterns.md for pattern selection.references/frontend-backend-strategies.md for stack-specific patterns../migration-plan/domains/. Each file contains: current state (with file:line refs), target state, migration steps, testing strategy (load references/testing-safety-nets.md), rollback plan, and success metrics../migration-plan/00-roadmap.md with phase sequencing, dependencies between domains, risk mitigation timeline, and success criteria../migration-plan/
├── 00-roadmap.md # Consolidated roadmap, phases, timeline
├── research/
│ ├── dependency-map.md # Module dependencies with file:line refs
│ ├── domain-candidates.md # Identified bounded contexts
│ ├── stack-research.md # Current + target stack analysis
│ └── risk-assessment.md # Risk matrix with mitigations
└── domains/
├── 01-domain-{name}.md # Per-domain migration plan
├── 02-domain-{name}.md
└── ...Load references based on the current phase and need. Do not preload all references.
| Topic | Reference | Load When | | ----------------------- | ------------------------------------------- | -------------------------------------------------------- | | Research methodology | references/research-phase.md | Starting RESEARCH phase | | Plan methodology | references/plan-phase.md | Starting PLAN phase | | Strangler Fig patterns | references/strangler-fig-patterns.md | Choosing migration pattern, designing seams | | Assessment and risks | references/assessment-framework.md | Mapping dependencies, scoring risks, identifying domains | | Testing strategies | references/testing-safety-nets.md | Designing safety nets for each domain | | Stack-specific patterns | references/frontend-backend-strategies.md | Frontend or backend migration specifics |
file:line for every codebase observation| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-20 | pass→pass | 8,174 | 4,217 | -48% | 1 | 1 | 0% | 1,444 | 2,106 | +46% | 0 | 0 | — |
case-01 | fail→fail | 5,962 | 2,492 | -58% | 1 | 1 | 0% | 1,038 | 1,875 | +81% | 0 | 0 | — |
case-02 | fail→fail | 33,002 | 4,829 | -85% | 1 | 1 | 0% | 6,209 | 1,827 | -71% | 0 | 0 | — |
case-03 | fail→fail | 32,413 | 4,399 | -86% | 1 | 1 | 0% | 6,215 | 1,864 | -70% | 0 | 0 | — |
case-04 | fail→pass | 25,414 | 5,319 | -79% | 1 | 1 | 0% | 6,184 | 2,367 | -62% | 0 | 0 | — |
case-05 | pass→pass | 3,998 | 3,534 | -12% | 1 | 1 | 0% | 560 | 1,966 | +251% | 0 | 0 | — |
case-06 | pass→pass | 11,001 | 7,708 | -30% | 1 | 1 | 0% | 1,824 | 2,634 | +44% | 0 | 0 | — |
case-07 | fail→pass | 13,596 | 6,982 | -49% | 1 | 1 | 0% | 2,597 | 2,706 | +4% | 0 | 0 | — |
case-08 | fail→pass | 23,809 | 7,454 | -69% | 1 | 1 | 0% | 4,270 | 2,797 | -34% | 0 | 0 | — |
case-09 | fail→pass | 2,440 | 6,231 | +155% | 1 | 1 | 0% | 344 | 2,535 | +637% | 0 | 0 | — |
case-10 | fail→fail | 13,480 | 7,088 | -47% | 1 | 1 | 0% | 2,268 | 2,699 | +19% | 0 | 0 | — |
case-11 | fail→fail | 11,494 | 5,902 | -49% | 1 | 1 | 0% | 2,283 | 2,406 | +5% | 0 | 0 | — |
case-12 | fail→pass | 16,032 | 8,902 | -44% | 1 | 1 | 0% | 2,681 | 2,896 | +8% | 0 | 0 | — |
case-13 | fail→pass | 19,523 | 4,902 | -75% | 1 | 1 | 0% | 3,400 | 2,183 | -36% | 0 | 0 | — |
case-14 | pass→pass | 14,191 | 9,868 | -30% | 1 | 1 | 0% | 2,234 | 3,110 | +39% | 0 | 0 | — |
case-15 | fail→pass | 12,873 | 7,739 | -40% | 1 | 1 | 0% | 2,259 | 2,857 | +26% | 0 | 0 | — |
case-16 | fail→pass | 10,367 | 4,543 | -56% | 1 | 1 | 0% | 1,960 | 2,322 | +18% | 0 | 0 | — |
case-17 | pass→pass | 10,483 | 3,044 | -71% | 1 | 1 | 0% | 1,683 | 1,968 | +17% | 0 | 0 | — |
case-18 | fail→pass | 19,455 | 5,847 | -70% | 1 | 1 | 0% | 4,374 | 2,423 | -45% | 0 | 0 | — |
case-19 | pass→pass | 13,296 | 7,042 | -47% | 1 | 1 | 0% | 2,134 | 2,548 | +19% | 0 | 0 | — |
case-21 | fail→pass | 13,676 | 4,086 | -70% | 1 | 1 | 0% | 2,377 | 2,224 | -6% | 0 | 0 | — |
case-22 | fail→pass | 13,249 | 6,896 | -48% | 1 | 1 | 0% | 2,366 | 2,583 | +9% | 0 | 0 | — |
case-23 | pass→pass | 8,469 | 3,403 | -60% | 1 | 1 | 0% | 1,493 | 2,075 | +39% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +48 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.