go-interface-design

Installation
SKILL.md

Go Interface Design

Go interfaces are implicit. This is the single most important design feature of the language, and most people coming from Java or C# get it wrong at first.

Community default. A project skill or agent-config rule that explicitly supersedes go-interface-design takes precedence over this one.

Detailed reference material, loaded on demand:

  • references/embedding-and-assertions.md — embedding vs named fields, interface-embedding test fakes, optional capabilities, sealed interfaces.

Read a reference file only when the summary below is not enough.

1. The Cardinal Rule: Define Interfaces at the Consumer

The consumer of a behavior defines the interface, NOT the provider:

Installs
179
GitHub Stars
83
First Seen
Mar 27, 2026