What problem does it solve?
This Skill helps you decide when Go generics are actually justified, so you avoid overengineering simple code and only generalize when multiple real call sites need the same logic.
Core Features & Use Cases
- Generics decision guidance: Distinguishes between concrete code, interfaces, and generics so you choose the simplest correct design.
- Constraint selection: Recommends standard constraints like any, comparable, and cmp.Ordered instead of custom unions when possible.
- Type design guardrails: Covers type parameter naming, type aliases versus definitions, and common anti-patterns such as generic wrappers around stdlib containers.
- Practical examples: Helps with utility functions, reusable algorithms, typed collections, and cases where concrete types or interfaces are a better fit.
Quick Start
Ask the assistant to review a Go function or API and tell you whether it should stay concrete, use an interface, or be rewritten with generics.