What problem does it solve? First interface design ideas are rarely the best, and teams often commit to a single API shape without exploring alternatives. This Skill applies the "Design It Twice" principle from "A Philosophy of Software Design" to generate and compare multiple radically different interface designs before implementation. ## 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 explore a minimal two-method design, a flexible builder-style design, and a design inspired by an existing library, then compare their trade-offs before writing any code. ## Quick Start Ask the assistant to design an interface for your module using the design-an-interface skill, describing what the module does and who will call it.