← ClaudeAtlas

code-designlisted

Use when discussing modules, interfaces, implementation, depth, seams, adapters, leverage, locality, or code design terminology.
juanibiapina/skills · ★ 4 · AI & Automation · score 63
Install: claude install-skill juanibiapina/skills
# Language Shared vocabulary for software design. Use these terms exactly — don't substitute "component," "service," "API," or "boundary." Consistent language is the whole point. ## Terms **Module** Anything with an interface and an implementation. Deliberately scale-agnostic — applies equally to a function, class, package, or tier-spanning slice. _Avoid_: unit, component, service. **Interface** Everything a caller must know to use the module correctly. Includes the type signature, but also invariants, ordering constraints, error modes, required configuration, and performance characteristics. _Avoid_: API, signature (too narrow — those refer only to the type-level surface). **Implementation** What's inside a module — its body of code. Distinct from **Adapter**: a thing can be a small adapter with a large implementation (a Postgres repo) or a large adapter with a small implementation (an in-memory fake). Reach for "adapter" when the seam is the topic; "implementation" otherwise. **Depth** Leverage at the interface — the amount of behaviour a caller (or test) can exercise per unit of interface they have to learn. A module is **deep** when a large amount of behaviour sits behind a small interface. A module is **shallow** when the interface is nearly as complex as the implementation. **Seam** _(from Michael Feathers)_ A place where you can alter behaviour without editing in that place. The *location* at which a module's interface lives. Choosing where to put the seam is it