What problem does it solve? Developers targeting .NET 11 often write unnecessary custom JsonNamingPolicy subclasses, cast non-generic JsonTypeInfo results, or wrap GetTypeInfo in try/catch blocks because they are unaware of the new built-in APIs. This Skill ensures the correct .NET 11 System.Text.Json APIs are applied and verified with runnable output. ## Core Features & Use Cases - PascalCase JSON output: Uses the built-in JsonNamingPolicy.PascalCase static property instead of hand-written naming policies or per-member JsonPropertyName attributes. - Strongly-typed metadata: Retrieves JsonTypeInfo<T> directly via the generic GetTypeInfo<T>() overload, eliminating casts from the non-generic overload. - No-throw metadata probing: Uses TryGetTypeInfo<T>(out info) to branch on metadata availability without exception handling. - Use Case: When serializing a record with lowercase member names in a net11.0 console app, apply JsonNamingPolicy.PascalCase with a DefaultJsonTypeInfoResolver and run dotnet run to confirm the output prints {"Name":"Jane","Age":30}. ## Quick Start Ask the assistant to serialize a C# record to PascalCase JSON using the built-in .NET 11 naming policy and run the program to show the output.