Use when adding, reviewing, or refactoring object-oriented or service-oriented code where SOLID design, dependency boundaries, class/interface responsibilities, polymorphism, abstraction, or maintainability tradeoffs matter. Apply the SOLID principles through a practical lens: improve cohesion, substitutability, and dependency direction without adding abstraction ceremony that the current code does not need.
Reference for writing and editing skills well — the vocabulary and principles that make a skill predictable.
Use when adding, reviewing, or refactoring NTS C# or Razor code where member ordering, property ordering, analyzer sorting, or formatting decisions matter.
Use when adding, reviewing, or refactoring NTS localized user-facing text, NStrings/NtsStrings properties, localized resource values, placeholders, translations, or deciding whether text should be localized.
Use when adding, reviewing, or refactoring dependency injection registrations, service abstractions, state contexts, injected collaborators, IServiceCollection extension methods, or service/processor/context interface naming in NTS and Not packages.
Use when adding or changing user-facing text in NTS UI, contracts, validation messages, resources, helper text, labels, buttons, or localized strings.
Use when adding, reviewing, or refactoring NTS Blazor/Razor components, especially .razor files, component parameters, injected services, event callbacks, print components, or UI code-behind classes that should follow the repo's split .razor plus Behind.cs convention.
Use when adding, reviewing, or refactoring reusable Not* nuget infrastructure, shared print/file/browser/backend services, Blazor support components, HTTP/storage abstractions, server adapters, or any code where Codex must decide whether behavior belongs in generic Not infrastructure versus NTS business/domain/application code. Apply conventions that keep Not* nugets generic, convention-driven, lightly customizable, and free of NTS-specific business logic.