Golang struct and interface design — composition, embedding, type assertions, type switches, DI via interfaces, field tags, pointer vs value receivers. Use when designing Go types, implementing interfaces, embedding, adding JSON/YAML/DB tags, or 'accept…
Skills in this repository
context-labs/whip - Page 2
SkillsMP has collected 48 skills from context-labs/whip. Open a skill to review its source and details.
context-labs/whipShowing 8 of 48 collected skills.
Golang OpenAPI/Swagger docs with swaggo/swag — annotations (@Summary, @Param, @Success, @Router, @Security), swag init, framework integrations (gin, echo, fiber, chi), security definitions, struct tags. Apply when adding/maintaining Swagger docs in Go or the…
Production-ready Golang tests — table-driven, testify suites/mocks, parallel tests, fuzzing, fixtures, goleak leak detection, snapshots, coverage, integration tests. Use when writing/reviewing Go tests, choosing an approach, test CI, or debugging flakes.…
Troubleshoot Golang programs — find and fix the root cause. Use for bugs, crashes, deadlocks, or unexpected behavior in Go code. Covers debugging methodology, pitfalls, pprof, Delve, race detection, GODEBUG. Start here for 'something is wrong'. Not for…
Dependency injection in Golang using uber-go/dig — reflection container, Provide/Invoke, dig.In/dig.Out objects, named values, value groups, optional deps, scopes. Apply when using/adopting dig or on go.uber.org/dig imports. Lifecycle → golang-uber-fx.
Golang application framework using uber-go/fx — fx.New, fx.Provide, fx.Invoke, fx.Module, fx.Lifecycle hooks, fx.Annotate, fx.Decorate, fx.Supply, signal-aware Run(). Apply when using/adopting fx or the codebase imports go.uber.org/fx. Raw DI without…
Recommends production-ready Golang libraries and frameworks. Apply when the user explicitly asks for library suggestions, wants to compare alternatives, needs to choose a library for a specific task, or when a new dependency is being added to the project.
Provides resources to stay updated with Golang news, communities and people to follow. Use when seeking Go learning resources, discovering new libraries, finding community channels, or keeping up with Go language changes and releases.