Golang Dependency Injection
Przewodnik po DI w Go z tabelą decyzyjną wg rozmiaru projektu: ręczne wstrzykiwanie kontra wire, dig/fx albo samber/do.
Testowano · Działa
Co robi ten skill
Uczy wzorców dependency injection w Go, od ręcznego wstrzykiwania przez konstruktor po kontenery oparte na bibliotekach (google/wire, uber-go/dig+fx, samber/do), z tabelą decyzyjną opartą na liczbie serwisów i potrzebach cyklu życia. Uruchamia się przy projektowaniu architektury serwisu, refaktoryzacji globali/wiązania opartego na init(), albo wyborze biblioteki DI dla Go, i wprost przekazuje do siostrzanych skilli dla poszczególnych bibliotek na głębszy dive.
Raport z testu
Podano mu aplikację Go z 4 serwisami połączonymi przez globale i init(): własna tabela decyzyjna skilla (<10 serwisów -> zostań przy ręcznym) i persona „nigdy nie przekombinowuj” powstrzymały odpowiedź przed odruchowym sięgnięciem po wire/fx, a on wygenerował konkretną refaktoryzację z konstruktorami NewXxx plus kod testów z mockowaną granicą dokładnie zgodny z udokumentowanym wzorcem.
Testowano: 2026-07-13 · Claude Code 2.x (agent harness)
Instalacja
git clone https://github.com/samber/cc-skills-golang cd cc-skills-golang mkdir -p ~/.claude/skills cp -r skills/golang-dependency-injection ~/.claude/skills/golang-dependency-injection
Komendy i przykładowe prompty
/golang-dependency-injectionPrzewodnik po DI w Go z tabelą decyzyjną wg rozmiaru projektu: ręczne wstrzykiwanie kontra wire, dig/fx albo samber/do.
Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):
Should I use wire or dig for dependency injection in this Go serviceHelp me refactor these Go globals and init() wiring into proper DIWhat's the right DI approach for a Go project this size, manual or a library