developer coding skill risk: low
Multiple Software Interface Designs Generator
The prompt instructs the model to gather module requirements then spawn parallel sub-agents to create radically different interface designs, present each design's signature and usa…
SKILL 1 file
SKILL.md
--- name: design-an-interface description: "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\"." --- # Design an Interface 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. ## Workflow ### 1. Gather Requirements Before designing, understand: - [ ] What problem does this module solve? - [ ] Who are the callers? (other modules, external users, tests) - [ ] What are the key operations? - [ ] Any constraints? (performance, compatibility, existing patterns) - [ ] What should be hidden inside vs exposed? Ask: "What does this module need to do? Who will use it?" ### 2. Generate Designs (Parallel Sub-Agents) 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 approach ``` ### 3. Present Designs Show each design with: 1. **Interface signature** - types, methods, params 2. **Usage examples** - how callers actually use it in practice 3. **What it hides** - complexity kept internal Present designs sequentially so user can absorb each approach before comparison. ### 4. Compare Designs After showing all designs, compare them on: - **Interface simplicity**: fewer methods, simpler params - **General-purpose vs specialized**: flexibility vs focus - **Implementation efficiency**: does shape allow efficient internals? - **Depth**: small interface hiding significant complexity (good) vs large interface with thin implementation (bad) - **Ease of correct use** vs **ease of misuse** Discuss trade-offs in prose, not tables. Highlight where designs diverge most. ### 5. Synthesize Often the best design combines insights from multiple options. Ask: - "Which design best fits your primary use case?" - "Any elements from other designs worth incorporating?" ## Evaluation Criteria 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). ## Anti-Patterns - Don't let sub-agents produce similar designs - enforce radical difference - Don't skip comparison - the value is in contrast - Don't implement - this is purely about interface shape - Don't evaluate based on implementation effort
INPUTS
- module description REQUIRED
description of the module to design an interface for
- gathered requirements REQUIRED
requirements collected in step 1
REQUIRED CONTEXT
- module description
- gathered requirements
OPTIONAL CONTEXT
- constraints for each agent
TOOLS REQUIRED
- task_tool
ROLES & RULES
- 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
- Present designs sequentially so user can absorb each approach before comparison
- Discuss trade-offs in prose, not tables
- Don't let sub-agents produce similar designs - enforce radical difference
- Don't skip comparison - the value is in contrast
- Don't implement - this is purely about interface shape
- Don't evaluate based on implementation effort
EXPECTED OUTPUT
- Format
- markdown
- Schema
- markdown_sections · Interface signature, Usage examples, What it hides, Trade-offs of this approach
- Constraints
- present designs sequentially
- discuss trade-offs in prose not tables
- include interface signature, usage example, what is hidden, and trade-offs for each design
- ask synthesis questions at end
SUCCESS CRITERIA
- Generate multiple radically different designs
- Compare designs on interface simplicity, general-purpose vs specialized, implementation efficiency, depth, ease of correct use vs ease of misuse
- Synthesize by asking which design fits and what elements to incorporate
FAILURE MODES
- May let sub-agents produce similar designs instead of radical differences
- May skip the comparison step
- May implement code instead of focusing on interface shape
EXAMPLES
Includes one prompt template for sub-agents specifying constraints, output format with four numbered items, and four example agent constraints.
CAVEATS
- Missing context
- Exact mechanism or syntax for spawning sub-agents (Task tool details)
- Target language/ecosystem for interface examples
QUALITY
- OVERALL
- 0.88
- CLARITY
- 0.90
- SPECIFICITY
- 0.85
- REUSABILITY
- 0.90
- COMPLETENESS
- 0.90
IMPROVEMENT SUGGESTIONS
- Add an explicit input parameter placeholder at the top for the module description to make invocation clearer.
- Specify desired output format (e.g., markdown headings) for the final comparison section to ensure consistency.
USAGE
Copy the prompt above and paste it into your AI of choice — Claude, ChatGPT, Gemini, or anywhere else you're working. Replace any placeholder sections with your own context, then ask for the output.
MORE FOR DEVELOPER
- Context7 Library Documentation Expertdevelopercoding
- Structured Python Production Code Generatordevelopercoding
- Angular Standalone Directive Generatordevelopercoding
- Pytest Unit Test Suite Generatordevelopercoding
- Unity Architecture Specialistdevelopercoding
- Web Typography CSS Generatordevelopercoding
- VSCode CodeTour File Expertdevelopercoding
- Senior Python Code Reviewerdevelopercoding
- Structured Cross-Language Code Translatordevelopercoding
- Multi-DB SQL Query Optimizer and Builderdevelopercoding
- Base R Programming Reference Guidedevelopercoding
- Flutter Map SDK Layer Bug Fixerdevelopercoding
- Expert Mobile App Builder for iOS Androiddevelopercoding
- Scalable Backend Architect Expertdevelopercoding
- Comprehensive TypeScript Codebase Reviewerdevelopercoding
- Code Improvement and Refactoring Suggesterdevelopercoding
- Vercel SPA Blank Screen Diagnoserdevelopercoding
- CLAUDE.md File Generator for AI Codersdevelopercoding
- App Store Screenshots Gallery Generatordevelopercoding
- Spring Boot SOLID Architect Specialistdevelopercoding
- React SaaS Metrics Dashboard Generatordevelopercoding
- Software Optimization Auditordevelopercoding
- Senior Frontend Task Checklist Architectdevelopercoding
- POSIX Shell Script Developer with Checklistsdevelopercoding
- Astro v6 Strict Architecture Rulesdevelopercoding