What problem does it solve? Adopting nullable reference types (NRTs) in an existing C# codebase produces hundreds of CS86xx warnings and risks incorrect API contracts or accidental runtime behavior changes. This Skill provides a structured, step-by-step migration workflow that enables <Nullable>enable</Nullable>, resolves warnings in dependency order, and keeps the generated IL unchanged. ## Core Features & Use Cases - Readiness Assessment: Runs the Get-NullableReadiness.ps1 scanner to report <Nullable>, <LangVersion>, target frameworks, and existing suppression counts before starting. - Three Rollout Strategies: Supports project-wide enable, warnings-first, and file-by-file migration depending on codebase size and team activity. - Systematic Warning Resolution: Provides decision flowcharts and fix tables for CS8602, CS8600, CS8603, CS8604, CS8618, CS8625, and CS8601, plus guidance on nullable attributes like [NotNullWhen] and [MemberNotNull]. - Framework-Specific Guidance: Reference docs cover EF Core schema implications, ASP.NET Core model validation changes, and library breaking-change tracking. - Use Case: A team maintaining a large .NET library wants to enable NRTs without breaking consumers. The Skill migrates projects in dependency order, annotates public APIs conservatively, documents breaking changes in nullable-breaking-changes.md, and adds <WarningsAsErrors>nullable</WarningsAsErrors> to prevent regressions. ## Quick Start Enable nullable reference types in my C# solution at ./src/MyApp.sln and systematically fix all resulting nullable warnings without changing runtime behavior.