Skip to content
v0.4.0MIT

Go domain: idiomatic Go (Go 1.26), design rules, tactical DDD in Go, behavior-preserving simplification (go-simplify, with go fix and modernizers) and the role skills the engineering plugin uses: go-review, go-testing, go-debugging and go-design.

ddd-go-idiomatic

Tactical Domain-Driven Design written as idiomatic Go, not translated Java: value objects, entities, aggregates, bounded contexts, repositories/ports, use cases and the file layout of a context. Use when designing, generating or reviewing Go domain code or deciding where logic, a use case or a file goes. Triggers: "value object", "entity", "aggregate", "bounded context", "use case", "repository pattern", "DDD in Go", "hexagonal/clean architecture in Go", "where should this logic live", service.go, usecase.go, handler.go, "file naming", "how do I name this file", "one use case per file".

go-debugging

Go commands and tools for each diagnosis technique (isolate a test, repeat, -race, fuzzing, git bisect run, Delve, slog, benchmarks, benchstat, pprof, trace). The diagnosing-bugs skill loads it when the code is Go; also use it when the user is debugging something in Go.

go-design

Translates the deep-module vocabulary (module, interface, seam, adapter, depth) into Go's tools (packages, internal/, consumer-side interfaces, constructor injection). The codebase-design skill loads it when the code is Go; also use it when designing the interface of a Go package.

go-design-rules

Cross-cutting design principles applied the idiomatic Go way: Law of Demeter, Tell-Don't-Ask, Command–Query Separation, named types over primitives, making illegal states unrepresentable (parse, don't validate), explicit dependencies instead of globals, and DRY/SOLID read through a Go lens. Use when designing or reviewing Go code for coupling, type-safety or dependency smells. Triggers: "law of demeter", "train wreck", "tell don't ask", "CQS", "stringly-typed", "boolean blindness", "named types", "illegal states unrepresentable", "parse don't validate", "dependency injection in Go", "global variables", "singleton", "DRY", "SOLID in Go", "design smell".

go-review

Go-specific review rules for the .go files of a diff or a PR (Go correctness, idioms, the house layout and DDD). The code-review skill loads it for its Go reviewer; also use it when the user asks to review only Go code.

go-simplify

Simplifies Go code without changing its behavior: removes noise, narrating comments, dead code, nesting and old idioms, first with deterministic tools (gofmt -s, goimports, go fix with the Go 1.26 modernizers, staticcheck S1) and then with a catalog of judgment simplifications, with green tests before and after each step. Use it when the user asks to simplify, clean up, polish, modernize or remove noise from Go code, "/simplify" in Go, or "make it more idiomatic without changing what it does".

go-testing

Go testing idioms, examples and tools (table-driven tests, _test packages, fakes, httptest, testcontainers, golden files, -race). The tdd skill loads it when the code is Go; also use it when the user asks how to test something in Go.

senior-go-idiomatic

Writes, reviews and explains idiomatic Go (baseline Go 1.26): errors, interfaces, generics, goroutines, channels and context, I/O, testing, benchmarks, pgx/sqlc databases, slog, go.mod and dependencies, project layout, security, and Go comment policy. Use whenever the user writes, reviews, debugs or asks about Go code or a Go snippet, mentions a goroutine, channel, context, go.mod, go test, benchmark, pgx, sqlc, slog or generics, asks "is this idiomatic?", or complains about too many comments / over-commented Go.