Follows Airbnb's design-led development and Figma's craft quality standards. Use when building user-facing features, making UI/UX decisions, determining when details matter, or applying design system thinking. Guides when to move fast vs when quality creates moats. Based on Brian Chesky staying in every design detail and Dylan Field's craft philosophy.
78
72%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./design-first-dev/SKILL.mdClaude uses this skill when:
Leaders in the Details:
"There's a difference between micromanagement and being in the details. If you don't know the details, how do you know people are doing a good job? I made sure I was in the details."
The Approach:
🎨 Design Complete Flow First
All States Matter:
Cross-Functional from Day 1:
How to Apply:
DON'T:
- Write code first, design later
- "We'll polish it after we ship"
- Design only happy path
DO:
- Design complete experience (all states)
- Prototype before building
- Include cross-functional input early
- Craft the details that users noticeExample:
Feature: "User onboarding flow"
Design-First Approach:
✅ Prototype full flow in Figma/code sandbox
✅ Include:
- Welcome screen (first impression)
- Loading states (fetching user data)
- Empty state (no content yet)
- Error state (setup failed)
- Success state (celebration!)
- First value moment (aha!)
✅ Show to team before building backend
✅ Iterate on prototype, then buildAI Makes Craft the Moat:
"AI makes design, craft, and quality the new moat for startups. The bar for quality is going way up. Craft quality is how you differentiate."
When Details Matter:
🎯 Details Create Moats When:
Move Fast When:
How to Apply:
Ask: "Does craft quality matter here?"
HIGH CRAFT (polish details):
- User-facing core flows
- Onboarding experiences
- Key conversion moments
- Brand touchpoints
- Competitive differentiators
LOW CRAFT (move fast):
- Internal dashboards
- Admin panels
- Quick experiments
- Support tooling
- Behind-the-scenesCraft Quality Checklist:
Coherent Product, Not Feature Salad:
"We shifted to one company roadmap. This meant we could have a coherent story. Every feature connects to a narrative."
Product Coherence:
🎭 The Story Test:
How to Apply:
Before building any feature:
1. How does this fit the product story?
2. Does this reinforce the core value prop?
3. Will users understand why this exists?
4. Can we talk about this in one coherent launch?
BAD: Random feature that "users requested"
GOOD: Feature that advances the product narrativeExample:
Product: "Project management tool"
Story: "See everything, finish anything"
Feature Ideas:
✅ Timeline view (fits story: "see everything")
✅ Task dependencies (fits story: "finish anything")
❌ Chat feature (distracts from story)
❌ Time tracking (doesn't reinforce core value)
Coherence test: Do new features strengthen the story?Build Once, Use Everywhere:
When to Invest in Design System:
Design System Basics:
FOUNDATIONS:
- Colors (primary, secondary, grays, feedback)
- Typography (scale, weights, line heights)
- Spacing (8px grid: 4, 8, 16, 24, 32, 48, 64)
- Radius (corners: 4, 8, 16)
- Shadows (elevation levels)
COMPONENTS:
- Buttons (primary, secondary, ghost)
- Inputs (text, select, checkbox, radio)
- Cards, Modals, Tooltips
- Navigation patterns
- Feedback (alerts, toasts, loading)
PATTERNS:
- Forms (layout, validation, submission)
- Tables (sorting, filtering, pagination)
- Empty states, Error states, Loading statesFEATURE: [Ready to build]
│
├─ Is this user-facing? ───────────────┐
│ YES (customer sees it) ─────────────┤
│ NO (internal) ──────────────→ MOVE FAST
│
├─ Is this core product experience? ───┤
│ YES (main value loop) ──────→ HIGH CRAFT
│ NO (supporting feature) ────────────┤
│
├─ Is this first impression? ──────────┤
│ YES (onboarding, signup) ───→ HIGH CRAFT
│ NO (later in journey) ───────────────┤
│
├─ Used frequently? ────────────────────┤
│ YES (daily/weekly) ──────────→ HIGH CRAFT
│ NO (occasionally) ───────────────────┤
│
├─ Competitive differentiator? ────────┤
│ YES (unique to us) ───────────→ HIGH CRAFT
│ NO (table stakes) ───────────→ GOOD ENOUGH
│
└─ DECISION ←──────────────────────────┘# Feature: [Name]
## The Story
How this fits the product narrative:
- Connection to core value: [explain]
- User story: "[how we'll talk about this]"
## Design-First Approach
### 1. Prototype First
- [ ] Full flow designed (not just happy path)
- [ ] All states included (loading, error, empty, success)
- [ ] Prototype reviewed with team
- [ ] Clickable demo ready
### 2. States to Design
- [ ] **Loading:** [what users see while waiting]
- [ ] **Error:** [graceful failure + recovery]
- [ ] **Empty:** [first-time experience + guidance]
- [ ] **Success:** [confirmation + next steps]
### 3. Craft Quality Bar
**This feature is:** [core product / supporting / internal]
**Craft level:** [high / medium / low]
**If HIGH craft:**
- [ ] Consistent spacing (8px grid)
- [ ] Typography hierarchy clear
- [ ] Smooth interactions
- [ ] Responsive design
- [ ] Accessible
- [ ] Delight moments
### 4. Cross-Functional Input
- [ ] Design reviewed
- [ ] Engineering reviewed (feasibility)
- [ ] Marketing input (how to talk about it)
- [ ] Product narrative alignmentFor every user-facing feature:
| State | Question | Designed? |
|---|---|---|
| Loading | What does user see while fetching data? | [ ] |
| Error | What if API fails? Network error? | [ ] |
| Empty | What if user has no data yet? | [ ] |
| Success | How do we confirm action completed? | [ ] |
| First Use | What does new user see? | [ ] |
| Partial | What if data is incomplete? | [ ] |
# Feature: [Name]
## Craft Quality Decision
### Context
- User-facing: [yes/no]
- Core product loop: [yes/no]
- First impression: [yes/no]
- Usage frequency: [daily/weekly/monthly/rarely]
- Competitive differentiator: [yes/no]
### Craft Level: [HIGH / MEDIUM / LOW]
**If HIGH Craft:**
- Investment: [X days for polish]
- Focus areas: [list what makes it special]
- Success: [what "great" looks like]
**If LOW Craft:**
- Ship threshold: [works, looks okay]
- Time budget: [X days max]
- Polish later: [yes/no]Before You Code:
During Build:
Before Ship:
Challenge: Rebuild entire product to be more coherent
Design-First Approach:
Result:
Decision: Craft quality on core editing experience
High Craft Investment:
Result:
Decision: Polish docs and onboarding
Design-First:
Result:
Problem: Treating internal tools like customer-facing products Fix: Reserve high craft for features where quality = moat
Problem: Forgot loading/error/empty states Fix: Design all states before building any
Problem: "We'll polish it later" (never happens) Fix: Prototype first, build second
Problem: Adding features that don't fit narrative Fix: Story test - does this strengthen core message?
Brian Chesky:
"Leaders are in the details. The question isn't whether to be in the details, but which details matter."
Dylan Field:
"With AI, everyone can build. The differentiator is craft. Quality is the new moat."
Brian on Coherence:
"You can have 50 marketing efforts but no customer heard anything. That's because there's no coherent story."
53530ef
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.