What problem does it solve?
Apply Go-derived interface design principles to design or review abstractions in any language.
Use this skill whenever the agent is about to define an interface, protocol, trait, abstract class,
or any abstraction boundary — or when reviewing one that already exists. Triggers on phrases like
"design an interface", "create an abstraction", "define a contract", "what should this interface
look like", "model this as a protocol/trait", "review this interface", "is this a good abstraction",
or any time the agent introduces a new type boundary between components. Covers Go, Clojure, Java,
Kotlin, TypeScript, and Python.
Core Features & Use Cases
- Defines interfaces from the consumer's perspective to maximize substitution and testability.
- Keeps surface area minimal to reduce cognitive load and maintenance.
- Guides cross-language translation of principles with language-specific idioms in references.
Quick Start
Draft a minimal, consumer-facing interface that captures the required behavior and enables swapping implementations.