design-it-twice

Installation
SKILL.md

Design It Twice

Based on "Design It Twice" from A Philosophy of Software Design: your first idea is unlikely to be your best. Generate multiple radically different designs in parallel, then compare and synthesize.

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 at the interface?

2. Explore the codebase (if applicable)

If the module is part of an existing codebase, use a subagent to explore it first. Look for:

Related skills
Installs
6
GitHub Stars
2
First Seen
Mar 26, 2026