pattern-architect-deep-modulelisted
Install: claude install-skill MartinKChen/harness-claude-code
# pattern-architect-deep-module
Guides the design of modules so they end up *deep*: a small, simple interface that hides a large amount of functionality and complexity. Based on John Ousterhout's *A Philosophy of Software Design*. Use this whenever a new module/class/API seam is being drawn, or when reviewing whether an existing one is pulling its weight.
## When to activate
Activate this skill whenever the user:
- asks to design, architect, scaffold, propose, or sketch a new module, class, package, component, service, library, or API
- asks "how should I structure / split / organize" code into modules or layers
- asks for a review of a module seam, interface, or abstraction ("is this abstraction good?", "should I split this?")
- proposes a new public interface, SDK surface, or service seam
- introduces a wrapper, facade, or adapter and asks whether it earns its keep
- refactors by extracting a class/module and wants to validate the extraction
Do NOT activate when the user is implementing logic *inside* an already-agreed module seam, fixing a bug that doesn't change the interface, doing pure formatting/renaming, or asking general questions about software philosophy without an actual module to design.
## Pattern
A *deep* module has a **simple interface** relative to its **powerful functionality**. Picture a rectangle: width = interface surface area, height = hidden functionality. Deep modules are tall and narrow. Shallow modules are short and wide — their interface is a