microsoft-extensions-dependency-injection — скилл для Claude Code: DI
Скилл для наведения порядка в регистрациях сервисов .NET: разбивает Program.cs на расширения и помогает выбрать время жизни сервиса.
npx skills add wshaddix/dotnet-skills --skill microsoft-extensions-dependency-injection -a claude-codeЧто делает microsoft-extensions-dependency-injection
Скилл описывает, как группировать регистрации в Microsoft.Extensions.DependencyInjection через методы-расширения IServiceCollection. Вместо длинного Program.cs вы получаете цепочку вида AddUserServices().AddOrderServices().AddEmailServices(), где каждый метод отвечает за свой кусок. Заодно разбираются времена жизни Singleton, Scoped и Transient, декораторы и перехват сервисов.
Внутри — соглашения по именам (Add{Feature}Services(), Configure{Feature}(), Use{Feature}() для middleware) и по раскладке файлов: {Feature}ServiceCollectionExtensions.cs лежит рядом с сервисами этой фичи. Отдельный блок про тесты: конфигурацию из продакшена переиспользуют в WebApplicationFactory, подменяя только то, что отличается — например, отправитель писем или платёжный процессор.
Главная выгода проявляется в команде: меньше конфликтов при merge и видимые границы между подсистемами. Но у расширений есть порядок вызовов, и если один модуль зависит от другого, вызывать AddEmailServices() до AddOrderServices() придётся вам — скилл лишь напоминает, что это ответственность вызывающего.
Какие задачи решает
- разбить разросшийся Program.cs на читаемые блоки регистраций
- выбрать между Singleton, Scoped и Transient без ошибок
- переиспользовать продакшен-конфигурацию DI в интеграционных тестах
- спрятать внутренние зависимости библиотеки за одним методом Add*
- договориться в команде об именах и файлах для регистраций
Примеры запросов агенту
- Разложи регистрации сервисов в Program.cs по методам-расширениям Add*Services()
- Проверь времена жизни этих сервисов и скажи, где Scoped превратится в captive dependency
- Помоги подменить IEmailSender на тестовый двойник в WebApplicationFactory
Как установить microsoft-extensions-dependency-injection
1Через Skills CLI (Vercel)
npx skills add wshaddix/dotnet-skills --skill microsoft-extensions-dependency-injection -a claude-code2Вручную: положить файлы
~/.claude/skills/microsoft-extensions-dependency-injection/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/microsoft-extensions-dependency-injection/
1Через Skills CLI (Vercel)
npx skills add wshaddix/dotnet-skills --skill microsoft-extensions-dependency-injection -a codex2Вручную: положить файлы
.agents/skills/microsoft-extensions-dependency-injection/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add wshaddix/dotnet-skills --skill microsoft-extensions-dependency-injection -a cursor2Вручную: положить файлы
.cursor/skills/microsoft-extensions-dependency-injection/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install wshaddix/dotnet-skills microsoft-extensions-dependency-injection2Вручную: положить файлы
.github/skills/microsoft-extensions-dependency-injection/SKILL.md1Через Skills CLI (Vercel)
npx skills add wshaddix/dotnet-skills --skill microsoft-extensions-dependency-injection -a gemini-cli2Командой платформы
gemini skills install https://github.com/wshaddix/dotnet-skills --path skills/microsoft-extensions-dependency-injectionВручную: положить файлы
.devin/skills/microsoft-extensions-dependency-injection/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add wshaddix/dotnet-skills --skill microsoft-extensions-dependency-injection -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора5
Похожие
Рядом в теме «Бэкенд и API»
Всё по теме «Бэкенд и API» →Вопросы о microsoft-extensions-dependency-injection
Как установить microsoft-extensions-dependency-injection в Claude?
Через skills CLI: npx skills add wshaddix/dotnet-skills --skill microsoft-extensions-dependency-injection -a claude-code. После этого файл скилла лежит в ~/.claude/skills/microsoft-extensions-dependency-injection/SKILL.md.
Что делает этот скилл?
Показывает, как организовать регистрации сервисов в .NET через методы-расширения IServiceCollection, и разбирает времена жизни сервисов, декораторы и перехват.
С какими платформами он совместим?
Кроме Claude есть установка для Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode — у каждой своя команда и путь к файлу скилла.