Generate multiple radically different interface designs for a module using parallel sub-agents.
Automate repetitive workflows and reduce manual effort
Example: Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Learn new skills, understand complex topics, get expert guidance
Example: Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Enhance output quality through reviews, suggestions, and refinements
Example: Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
Time estimate: 15-45 minutes depending on use case complexity
Prerequisites
Submit your Claude Code skill and start earning
epx add mattpocock/skills/blob/main/design-an-interface/SKILL.md --skill design-an-interfaceCompatible with
Supported agents
| 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". |
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 approach
Show 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).
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versiondesign-an-interfaceExecute the skills CLI command in your project's root directory to begin installation:
epx add mattpocock/skills/blob/main/design-an-interface/SKILL.md --skill design-an-interfaceFetches design-an-interface from explainx/design-an-interface and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
.cursor/skills/design-an-interface
Restart Cursor to activate design-an-interface. Access via /design-an-interfacein your agent's command palette.
Learn more:View source on GitHubSkills CLI docsAbout CursorWhat are agent skills?
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid when
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
text-to-lottie
diffusionstudio/lottie · design · tag: design
UI Designer
msitarzewski/agency-agents · design · tag: design
antigravity-design-expert
sickn33/antigravity-awesome-skills · Frontend · tag: design
game-ui-design
omer-metin/skills-for-antigravity · Frontend · tag: design
game-design-core
omer-metin/skills-for-antigravity · Frontend · tag: design
mobile-design
vudovn/antigravity-kit · Frontend · tag: design
design-an-interface has been reliable in day-to-day use. Documentation quality is above average for community skills.
design-an-interface has been reliable in day-to-day use. Documentation quality is above average for community skills.
Registry listing for design-an-interface matched our evaluation — installs cleanly and behaves as described in the markdown.
design-an-interface fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
Keeps context tight: design-an-interface is the kind of skill you can hand to a new teammate without a long onboarding doc.
Registry listing for design-an-interface matched our evaluation — installs cleanly and behaves as described in the markdown.
Useful defaults in design-an-interface — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
I recommend design-an-interface for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
design-an-interface reduced setup friction for our internal harness; good balance of opinion and flexibility.
design-an-interface reduced setup friction for our internal harness; good balance of opinion and flexibility.
showing 1-10 of 58