Skip to content
Agentmart
Submit a tool

design-api

Generate several radically different interface design options for a module via parallel sub-agents.

Skill by wachawo

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/wachawo-design-api

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Generate several radically different interface design options for a module via parallel sub-agents. Use when the user wants to design an API, evaluate interface options, compare module shapes, or mentions "design it twice".

Use cases: design, backend

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/design-api

What's inside

Skill name
design-api
Description
Generate several radically different interface design options for a module via parallel sub-agents. Use when the user wants to design an API, evaluate interface options, compare module shapes, or mentions "design it twice".
License
MIT
Instructions
91 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Design an Interface

Built on the "Design It Twice" principle from "A Philosophy of Software Design": your first idea is unlikely to be the best one. Generate several radically different design options, then compare.

## Workflow

### 1. Gather requirements

Before designing, understand:

- [ ] What problem does this module solve?
- [ ] Who calls it? (other modules, external users, tests)
- [ ] What are the key operations?
- [ ] Are there any constraints? (performance, compatibility, existing patterns)
- [ ] What should be hidden internally vs. exposed?

Ask: "What should this module do? Who will use it?"

### 2. Generate designs (parallel sub-agents)

Launch 3+ sub-agents simultaneously via the 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 the designs

Show each design with:

1. **Interface signature** — types, methods, parameters
2. **Usage examples** — how the calling code actually uses it
3. **What it hides** — internal complexity left under the hood

Present the designs sequentially so the user can absorb each approach before comparing.

### 4. Compare the designs

After showing all options, compare them by:

- **Interface simplicity**: fewer methods, simpler parameters
- **Generality vs. specialization**: flexibility vs. focus
- **Implementation efficiency**: does the shape allow efficient internals?
- **Depth**: a small interface that hides significant complexity (good) vs. a large interface with a thin implementation (bad)
- **Easy to use correctly** vs. **easy to misuse**

Discuss trade-offs in prose, not tables. Highlight the points where the designs diverge most.

### 5. Synthesize

Often the best design combines ideas from several options. Ask:

- "Which design fits your primary case best?"
- "Are there elements from other designs worth incorporating?"

## Evaluation criteria

From "A Philosophy of Software Design":

**Interface simplicity**: fewer methods, simpler parameters — easier to learn and use correctly.

**Generality**: capable of handling future scenarios without changes. But beware of over-generalization.

**Implementation efficiency**: does the interface shape allow an efficient implementation? Or does it force awkward internals?

**Depth**: a small interface hiding significant complexity = a deep module (good). A large interface with a thin implementation = a shallow module (avoid).

## Anti-patterns

- Don't let sub-agents produce similar designs — insist on radical differentiation
- Don't skip the comparison — the value is in the contrast
- Don't implement — this is only about interface shape
- Don't evaluate by implementation effort

From wachawo/claude-skills, MIT.

More from wachawo/claude-skills

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
May 5, 2026 (5 months ago)
Last release
May 5, 2026 (5 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from wachawo

Cite this page

design-api skill. Agent Mart. https://agentmart.dev/skills/wachawo-design-api (last updated 2026-10-24)