Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to design an API, explore interface options, compare module shapes, or mentions "design it twice".
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-13 | ✗→✓ | ▲ Improved | 55% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 36% | 0% |
| case-06 | ✓→✗ | ▼ Worse | 28% | 0% |
| case-08 | ✓→✗ | ▼ Worse | -54% | 0% |
| case-22 | ✓→✗ | ▼ Worse | -51% | 0% |
Based on "Design It Twice" from "A Philosophy of Software Design": your first idea is unlikely to be the best. Generate multiple radically different designs, then compare.
Before designing, understand:
Ask: "What does this module need to do? Who will use it?"
Spawn 3+ sub-agents simultaneously using Task tool. Each must produce a radically different approach.
Prompt template for each sub-agent:
Design an interface for: [module description]
Requirements: [gathered requirements]
Constraints for this design: [assign a different constraint to each agent]
- Agent 1: "Minimize method count - aim for 1-3 methods max"
- Agent 2: "Maximize flexibility - support many use cases"
- Agent 3: "Optimize for the most common case"
- Agent 4: "Take inspiration from [specific paradigm/library]"
Output format:
1. Interface signature (types/methods)
2. Usage example (how caller uses it)
3. What this design hides internally
4. Trade-offs of this approachShow each design with:
Present designs sequentially so user can absorb each approach before comparison.
After showing all designs, compare them on:
Discuss trade-offs in prose, not tables. Highlight where designs diverge most.
Often the best design combines insights from multiple options. Ask:
From "A Philosophy of Software Design":
Interface simplicity: Fewer methods, simpler params = easier to learn and use correctly.
General-purpose: Can handle future use cases without changes. But beware over-generalization.
Implementation efficiency: Does interface shape allow efficient implementation? Or force awkward internals?
Depth: Small interface hiding significant complexity = deep module (good). Large interface with thin implementation = shallow module (avoid).
Other measured skills in the registry, with their headline benchmark lift.