What problem does it solve? Static dependencies like DateTime.Now, File., Environment., and Console.* make C# classes impossible to unit test. This Skill generates the right abstraction — a custom wrapper interface, a built-in .NET abstraction, or a NuGet package — plus the DI registration needed to make those classes 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 snippets. - Custom wrapper generation: Produces minimal IEnvironmentProvider, IConsole, and IProcessRunner interfaces that wrap only the static members actually used, with default implementations and DI registration. - File system abstraction: Recommends System.IO.Abstractions with MockFileSystem testing patterns instead of hand-rolled wrappers. - Use Case: After detecting that OrderProcessor calls DateTime.UtcNow directly, ask the Skill to make it testable — it registers TimeProvider.System in DI, injects TimeProvider into the class, and shows a FakeTimeProvider unit test. ## Quick Start Ask the AI to generate a testability wrapper for the static dependency in your class, specifying the category (time, filesystem, environment, network, console, or process) and your target framework.