← ClaudeAtlas

extension-points-and-seamslisted

Design for swappable capabilities — when a capability may have multiple implementations or consumers, separate it into contract / implementation / consumer so they vary independently, and route new behavior through documented extension points instead of patching a core. Use when designing a new capability, deciding whether to split an interface, or adding behavior to an existing system. Out of scope (no seam needed) when a capability has a single fixed implementation and consumer.
arch3rPro/dsh-skills · ★ 4 · Data & Documents · score 75
Install: claude install-skill arch3rPro/dsh-skills
# Extension Points and Seams This skill scopes itself by **project fit**: it answers *when* a capability warrants a seam and *how* to build one. It applies to **swappable** capabilities. A capability with a single fixed implementation and a single consumer is outside its scope — for those a seam is needless indirection, and the honest design choice is to keep it a single unit. **The defining constraint:** a **seam** is the place where a *swappable* capability lives — the contract, the implementation, and the consumer are separated so they can vary independently. If nothing can plausibly vary, there is no seam to build. ## Decide: does this capability warrant a seam? Build a seam only when at least one of these is true: - **Multiple implementations are real or imminent** — a second backend, provider, or adapter is already planned or shipped (local vs remote, mock vs real, one vendor vs another). - **Multiple consumers exist** — more than one caller uses the capability, and they must not each couple to one implementation. If there is one conceivable implementation and one consumer, keep it a single unit. Split **only when a second implementation or consumer appears** — never preemptively. The seam's whole value is independent variation; without variation there is nothing to buy. ## The three roles A seam has three distinct concerns that change at different rates: 1. **Contract** — the interface that names the capability: the operations, the vocabulary types, the guaran