| name | design-an-interface |
| description | Generate multiple radically different interface designs for a module. Use when the user wants API options, module shapes, or says "design it twice". |
Design An Interface
Goal: do not stop at the first design.
Workflow
- Gather requirements:
- problem
- callers
- key operations
- constraints
- what should stay hidden
- Spawn 3+ parallel sub-agents. Force real divergence:
- minimal interface
- flexible interface
- common-case optimized
- paradigm-inspired, if useful
Each design must include:
- interface signature
- usage example
- hidden complexity
- tradeoffs
-
Present each design separately.
-
Compare in prose:
- simplicity
- generality
- implementation leverage
- module depth
- ease of correct use
- Recommend one design or a hybrid.
Rules
- Do not let designs collapse into variants of the same idea.
- Do not implement.
- Judge interface quality, not implementation effort.