Expert Atomic Design decisions for iOS/tvOS: when component hierarchy adds value vs overkill, atom vs molecule boundary judgment, design token management trade-offs, and component reusability patterns. Use when structuring design systems, deciding component granularity, or organizing component libraries. Trigger keywords: Atomic Design, atoms, molecules, organisms, templates, component library, design system, design tokens, reusability, composition
View on GitHubKaakati/rails-enterprise-dev
reactree-ios-dev
January 25, 2026
Select agents to install to:
npx add-skill https://github.com/Kaakati/rails-enterprise-dev/blob/main/plugins/reactree-ios-dev/skills/atomic-design-ios/SKILL.md -a claude-code --skill atomic-design-iosInstallation paths:
.claude/skills/atomic-design-ios/# Atomic Design iOS — Expert Decisions
Expert decision frameworks for Atomic Design choices in SwiftUI. Claude knows view composition — this skill provides judgment calls for when component hierarchy adds value and how to define boundaries.
---
## Decision Trees
### Do You Need Atomic Design?
```
How large is your design system?
├─ Small (< 10 components)
│ └─ Skip formal hierarchy
│ Simple "Components" folder is fine
│
├─ Medium (10-30 components)
│ └─ Consider Atoms + Molecules
│ Skip Organisms/Templates if not needed
│
└─ Large (30+ components, multiple teams)
└─ Full Atomic Design hierarchy
Atoms → Molecules → Organisms → Templates
```
**The trap**: Atomic Design for a 5-screen app. The overhead of categorization exceeds the benefit.
### Atom vs Molecule Boundary
```
Does this component combine multiple distinct elements?
├─ NO (single visual element)
│ └─ Atom
│ Button, TextField, Badge, Icon, Label
│
└─ YES (2+ elements that work together)
└─ Can these elements be used independently?
├─ YES → Molecule (SearchBar = Icon + TextField + Button)
└─ NO → Still Atom (password field with toggle is one unit)
```
### Component Extraction Decision
```
Will this be used in multiple places?
├─ NO (one-off)
│ └─ Don't extract
│ Inline in parent view
│
├─ YES (2-3 places)
│ └─ Extract as local component
│ Same file or sibling file
│
└─ YES (4+ places or cross-feature)
└─ Extract to design system
Full Atom/Molecule treatment
```
### Design Token Scope
```
What type of value?
├─ Color
│ └─ Is it semantic or brand?
│ ├─ Semantic (error, success) → Color.error, Color.success
│ └─ Brand (primary, accent) → Color.brandPrimary
│
├─ Spacing
│ └─ Use named scale (xs, sm, md, lg, xl)
│ Never magic numbers
│
├─ Typography
│ └─ Use semantic names (body, heading, caption)
│ Map to Font.body, Font.heading
│
└─ Corner radius, shadows
└─ Named tokens if used consistently
Radius.card, Shadow.ele