Skill: Craft Support
"Support is the toolbox. It doesn't know the house you're building."
The Standard
- No Domain Imports:
grep "use Domain" support/must be empty. - Contracts First: Define interfaces for Domain to implement.
- Traits for Behavior:
Has*,Interacts*,Can*naming. - Base Classes: Abstract foundations for Domain to extend.
The Anti-Patterns
| ❌ Don't | ✅ Do | Why |
|---|---|---|
| Import Domain | Define Contract | Dependency inversion |
| Business rules | Generic utilities | Domain-agnostic |
| Concrete implementations | Abstract base | Extensibility |
| Hardcoded values | Configuration | Flexibility |
When to Use
See decide-namespacing for Support vs Domain decision.
Real-World Examples
See examples.md.