design-an-interface

Generates multiple divergent module interface designs using parallel sub-agents for comparison.

2|Updated Jul 6, 2026
One-click install
npx skills add https://github.com/NAMEWTA/learning-open-code --skill design-an-interface-namewta
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: design-an-interface
Source: https://github.com/NAMEWTA/learning-open-code/tree/main/translator/open-ai-skills/matt-pocock-skills/skills/deprecated/design-an-interface
Command: npx skills add https://github.com/NAMEWTA/learning-open-code --skill design-an-interface-namewta

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? First interface ideas are rarely the best, yet developers often commit to them without exploring alternatives. This Skill applies the "design it twice" philosophy from A Philosophy of Software Design, forcing exploration of multiple radically different interface shapes before committing to one. ## Core Features & Use Cases - Parallel Design Generation: Launches 3+ sub-agents simultaneously, each constrained to produce a fundamentally different interface (minimal methods, maximum flexibility, optimized for common cases, or inspired by a specific paradigm). - Structured Comparison: Evaluates designs across interface simplicity, generality, implementation efficiency, module depth, and ease of correct use versus misuse. - Synthesis Guidance: Helps combine insights from multiple designs into a final interface rather than picking one wholesale. - Use Case: When designing a new caching module's API, use this Skill to explore a minimal two-method design, a flexible configuration-heavy design, and a design inspired by an existing library, then compare their tradeoffs before writing any implementation. ## Quick Start Ask the agent to design the interface for your module twice using parallel sub-agents, describing what the module does and who will call it.

Frequently Asked Questions about design-an-interface

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design a better API interface for a module?▼

Generate multiple radically different interface designs in parallel rather than refining a single idea. Assign each design a distinct constraint, such as minimal methods or maximum flexibility, then compare them on simplicity, depth, and ease of correct use before choosing.

What is the design it twice approach in software design?▼

Design it twice is a principle from A Philosophy of Software Design stating your first idea is unlikely to be the best. You produce several contrasting interface designs, compare their tradeoffs, and often synthesize the best elements from each.

How do parallel sub-agents help with interface design?▼

Each sub-agent receives a different design constraint, forcing genuinely divergent proposals instead of minor variations. Running them simultaneously produces a minimal design, a flexible design, and a common-case-optimized design for direct comparison.

When should I not use multi-design interface exploration?▼

Skip it for trivial modules with obvious interfaces or when matching an established existing pattern is required. The comparison overhead only pays off when the interface shape genuinely affects callers and long-term maintainability.

Does this approach include implementing the chosen interface?▼

No, the workflow deliberately stops at interface shape comparison and explicitly avoids implementation. Evaluating designs based on implementation effort is listed as an anti-pattern, since interface quality matters more than initial coding cost.