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 FakeTimeProvider test examples. - Custom wrapper generation: Creates minimal IEnvironmentProvider, IConsole, and IProcessRunner interfaces that wrap only the static members actually used in the codebase, plus default implementations and DI registration. - File system abstraction: Recommends and configures the System.IO.Abstractions NuGet package with MockFileSystem testing patterns. - Use Case: After identifying that a legacy OrderProcessor class calls DateTime.UtcNow and File.ReadAllText directly, 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 file system calls in my ConfigLoader class and show me how to register it in DI.