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 registration—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, including test helpers like FakeTimeProvider. - Custom wrapper generation: Creates minimal IEnvironmentProvider, IConsole, and IProcessRunner interfaces covering only the static members actually used, plus default implementations and DI registration. - File system abstraction: Recommends and configures the System.IO.Abstractions NuGet package with MockFileSystem for tests. - Use Case: After identifying that a legacy OrderProcessor class calls DateTime.Now and File.ReadAllText, use this Skill to adopt TimeProvider and IFileSystem, register them in DI, and write tests with FakeTimeProvider and MockFileSystem. ## Quick Start Generate a testability wrapper for the static dependencies in my OrderProcessor class targeting .NET 8 with Microsoft DI.