Use when SwiftUI app startup still needs initialization, migration, loading-state orchestration, AppInitializer work, or SplashScreen progress handling.
Use this skill after the SwiftUI app shell exists but before screen-by-screen migration starts. It moves initialization, data migration, and heavy startup work into the SwiftUI startup flow safely.
Core principle: complete startup stabilization before screen migration, so feature work does not carry hidden app-lifecycle risk.
AppDelegate still owns initialization or migration logicAppInitializerSplashScreen should display loading or migration progressAppInitializerDataMigrationManager.modelContainer when moving to SwiftDataBefore writing new SwiftUI startup logic, inspect AppDelegate and related setup files for:
Do not begin screen migration until you know which responsibilities still need to move.
DataMigrationManager to own data-porting logic.AppInitializer to coordinate all startup tasks.SplashScreen to call the startup coordinator..modelContainer in App.swift.../swiftuimigrator/guides/samples/step3-data-migration/../swiftuimigrator/guides/troubleshooting.md../swiftuimigrator/guides/verification-checklists.mdSplashScreen communicates loading or migration state clearlyThe app shell and startup path are stable enough to begin swiftuimigrator-screens.