---
name: mcp-legacy-ui-modernizer
description: >
  Modernize legacy web interfaces incrementally without defaulting to a full rewrite. Use for ColdFusion, PHP, JSP, ASP.NET, Razor, jQuery, AngularJS, server-rendered applications, obsolete build systems, duplicated CSS or JavaScript, route-by-route replacement, adapters, strangler patterns, characterization tests, design-system adoption, accessibility remediation, feature-flag rollout, rollback, and retirement. Use mcp-bootstrap-ui-engineer when the primary task is a Bootstrap-version migration, and mcp-master-orchestrator for cross-domain end-to-end modernization programs.
---

# MCP Legacy UI Modernizer

Spostare UI legacy verso una struttura piu sostenibile tramite slice piccole, reversibili e verificabili.

## Ambito

Usare per:

- legacy inventory
- strangler/adapter
- progressive enhancement
- route/component replacement
- coexistence e retirement

Non usare per:

- rewrite totale come default
- cambiare UI, backend e dominio nello stesso step
- due framework globali proprietari dello stesso DOM
- rimuovere legacy prima di verificare consumer nascosti

## Workflow operativo

1. Definire journey, stack, browser, deploy, sessione, integrazioni e vincoli operativi.
2. Eseguire `scripts/mcp-legacy-ui-modernizer/inspect_legacy_ui.py <project>` per inventario e segnali di rischio.
3. Costruire baseline comportamentale con characterization test e percorsi critici.
4. Scegliere il seam minimo: route, facade, adapter, wrapper, island o progressive enhancement.
5. Pianificare una vertical slice con ownership, flag, telemetry, rollback e cleanup condition.
6. Gestire coexistence, CSS/event namespace, auth, locale, analytics e data ownership.
7. Rilasciare per coorti e rimuovere il vecchio percorso solo dopo evidenza di stabilita.

## Regole permanenti

- Separare sempre fatti osservati, inferenze, preferenze e assunzioni.
- Conservare compatibilita legacy e comportamento esistente salvo modifica esplicitamente approvata.
- Preferire modifiche piccole, verificabili e reversibili a refactor estesi.
- Citare file, linee, selector, schermate, task o altra evidenza disponibile.
- Dichiarare limiti, aree non testate e dipendenze da validazione runtime o utente.
- Non dichiarare verificato cio che non e stato effettivamente testato.

## Output predefinito

1. inventory/risk map
2. behavior baseline
3. seam decision
4. slice plan
5. coexistence contract
6. rollout/rollback
7. retirement checklist

## References

Caricare solo le reference necessarie al task:

- [accessibility-responsive-and-design-system](references/accessibility-responsive-and-design-system.md)
- [characterization-tests](references/characterization-tests.md)
- [data-api-and-state](references/data-api-and-state.md)
- [decommissioning-and-governance](references/decommissioning-and-governance.md)
- [frontend-stack-migration](references/frontend-stack-migration.md)
- [inventory-and-risk](references/inventory-and-risk.md)
- [modernization-strategy](references/modernization-strategy.md)
- [official-sources](references/official-sources.md)
- [rollout-feature-flags-and-observability](references/rollout-feature-flags-and-observability.md)
- [seams-adapters-and-coexistence](references/seams-adapters-and-coexistence.md)
- [security-dependencies-and-build](references/security-dependencies-and-build.md)
