What problem does it solve? Static dependencies like DateTime.Now, File., Environment., and Console.* make C# classes impossible to unit test because they cannot be mocked. This Skill generates the abstraction layer—wrapper interfaces, default implementations, and DI registrations—needed to make such code testable. ## Core Features & Use Cases - Built-in abstraction adoption: Guides first-time setup of TimeProvider (.NET 8+ or via Microsoft.Bcl.TimeProvider) and IHttpClientFactory instead of reinventing wrappers. - Custom wrapper generation: Creates minimal IEnvironmentProvider, IConsole, and IProcessRunner interfaces covering only the static members actually used, plus default implementations and DI registration snippets. - File system abstraction: Recommends and configures System.IO.Abstractions with MockFileSystem for testing rather than hand-rolled wrappers. - Use Case: After detecting that an OrderProcessor class calls DateTime.UtcNow directly, use this Skill to adopt TimeProvider, register it in DI, inject it into the class, and write tests with FakeTimeProvider. ## Quick Start Ask the AI to generate a testability wrapper for the static dependencies in a specified C# class, providing the static category and target framework.