What problem does it solve? C# code written across Cratis repositories drifts in style without a shared reference, leading to inconsistent naming, formatting, exception handling, and dependency injection patterns that slow down reviews and introduce subtle bugs like captive singleton dependencies. ## Core Features & Use Cases - Style Enforcement Guidance: Covers formatting, naming, records, primary constructors, nullable handling, pattern matching, and multiline XML documentation rules. - Exceptions, Logging, and DI Rules: Defines domain exception conventions, structured logging with [LoggerMessage], convention-based DI, and the narrow conditions for using [Singleton]. - Domain Philosophy: Explains CUPID characteristics, cohesion by feature over technical layers, ubiquitous language, and immutability principles. - Use Case: When writing a new command handler in a Cratis repository, consult this Skill to name the type after the domain, use a primary constructor, inject collaborators by convention, and document the public API with multiline XML comments. ## Quick Start Review my C# code against the Cratis engineering conventions and point out any violations in naming, formatting, exceptions, or dependency injection.