Shows you how to organize Microsoft.Extensions.DependencyInjection registrations so your Program.cs doesn't turn into a 200-line mess. The pattern is simple: group related services into extension methods like AddUserServices() or AddEmailServices(), keep them near the code they register, and compose them at startup. The real win is testing. When your production config is a set of composable methods, your WebApplicationFactory tests can call the same AddOrderServices() that production uses and only swap out the email sender or payment processor. Covers naming conventions, file organization, and handling configuration binding. If you've ever had merge conflicts in Startup.cs or copied service registrations into test fixtures, this solves that.
npx skills add https://github.com/wshaddix/dotnet-skills --skill microsoft-extensions-dependency-injection