What problem does it solve? Setting up dependency injection in .NET MAUI apps involves subtle decisions about service lifetimes, registration patterns, and Shell navigation wiring, and mistakes like Singleton ViewModels or unregistered Pages cause silent runtime failures that are hard to diagnose. ## Core Features & Use Cases - Service Registration Patterns: Register services, ViewModels, and Pages in MauiProgram.cs with correct lifetime selection (AddSingleton, AddTransient, AddScoped). - Constructor Injection & Shell Integration: Wire ViewModels into Pages via constructor injection and let Shell navigation auto-resolve registered routes and their dependency graphs. - Platform-Specific & Testable Design: Register platform implementations with #if directives and define interfaces so services can be swapped with fakes in unit tests. - Use Case: When building a .NET MAUI app where a DetailPage needs a DetailViewModel and an IDataService, use this Skill to register everything correctly in MauiProgram.cs, avoid stale Singleton ViewModels, and ensure no dependency silently resolves to null. ## Quick Start Ask the AI to set up dependency injection in your .NET MAUI project by registering your services, ViewModels, and Pages in MauiProgram.cs with the correct lifetimes.