What problem does it solve? First design ideas are rarely the best, yet teams often commit to the initial interface they sketch. This Skill applies the "Design It Twice" principle from "A Philosophy of Software Design" to force exploration of multiple radically different interface shapes before committing to one. ## Core Features & Use Cases - Parallel Design Generation: Spawns 3+ sub-agents simultaneously, each constrained to produce a radically different interface approach (minimal methods, maximum flexibility, common-case optimization, paradigm-inspired). - Structured Comparison: Evaluates designs on interface simplicity, generality, implementation efficiency, module depth, and ease of correct use versus misuse. - Synthesis Guidance: Helps combine the strongest elements from multiple designs into a final interface. - Use Case: When designing a new caching module's API, use this Skill to generate a minimal 2-method design, a flexible builder-style design, and a get-or-compute design, then compare their trade-offs before writing any implementation. ## Quick Start Ask the agent to design an interface for your module, describing what it does, who calls it, and any constraints, then review the alternative designs it presents.