What problem does it solve?
This Skill helps you adopt nullable reference types (NRTs) in an existing C# codebase and turn the resulting CS86xx warnings into a clean, trustworthy nullability contract without changing runtime behavior.
Core Features & Use Cases
- Project/solution migration: Enable NRTs and systematically drive the codebase to zero nullable warnings by fixing dereference, annotation, and advanced contract issues.
- Annotation-first with guardrails: Resolves warnings using metadata changes only (e.g.,
?, nullable attributes, ! metadata-only), explicitly avoiding behavior changes like adding ?. or null guards inline.
- Advanced contract correctness: Uses nullable attributes (
[NotNullWhen], [MaybeNullWhen], [MemberNotNull], etc.) for scenarios where ? alone can’t express the true null contract.
- Runtime-boundary awareness: Flags public/protected API surfaces that may be missing runtime null validation, while recommending an opt-in TODO comment rather than silently altering behavior.
Quick Start
Run the readiness scanner on your project using scripts/Get-NullableReadiness.ps1 to confirm NRT readiness and quantify remaining CS86xx work.