structural-pattern-selector
Installation
SKILL.md
Structural Pattern Selector
When to Use
You have a structural design problem — one about how classes or objects are composed to form larger structures. This skill applies when:
- Two classes need to work together but have incompatible interfaces
- An abstraction and its implementation are tightly bound and you need them to vary independently
- You need to build tree-like hierarchies where individual items and groups behave the same way
- You need to add capabilities to objects at runtime without subclassing
- A complex subsystem needs a simpler unified entry point
- You're creating large numbers of similar lightweight objects and memory is a concern
- You need a stand-in, gateway, or access-control layer in front of another object
- You're unsure which structural pattern fits, especially between Adapter/Bridge or Composite/Decorator/Proxy
Not this skill if: The problem is about object creation (use a creational pattern) or communication/algorithms between objects (use a behavioral pattern). If you haven't yet classified the problem as structural, invoke design-pattern-selector first.