Agent Skills: Airbnb iOS Design System Best Practices

Clinic-architecture-aligned iOS design system engineering for SwiftUI (iOS 26 / Swift 6.2) covering token architecture, color/typography/spacing systems, component style libraries, asset governance, and theming. Enforces @Equatable on views and keeps design-system usage compatible with Feature-to-Domain+DesignSystem boundaries. Use when building or refactoring DesignSystem infrastructure for the clinic modular MVVM-C stack.

UncategorizedID: pproenca/dot-skills/ios-design-system

Install this agent skill to your local

pnpm dlx add-skill https://github.com/pproenca/dot-skills/tree/HEAD/skills/.experimental/ios-design-system

Skill Files

Browse the full folder contents for ios-design-system.

Download Skill

Loading file tree…

skills/.experimental/ios-design-system/SKILL.md

Skill Metadata

Name
ios-design-system
Description
Clinic-architecture-aligned iOS design system engineering for SwiftUI (iOS 26 / Swift 6.2) covering token architecture, color/typography/spacing systems, component style libraries, asset governance, and theming. Enforces @Equatable on views and keeps design-system usage compatible with Feature-to-Domain+DesignSystem boundaries. Use when building or refactoring DesignSystem infrastructure for the clinic modular MVVM-C stack.

Airbnb iOS Design System Best Practices

Opinionated, strict design system engineering for SwiftUI iOS 26 / Swift 6.2 apps. Contains 50 rules across 8 categories, prioritized by impact. Derived from Airbnb's Design Language System (DLS), Airbnb Swift Style Guide, Apple Human Interface Guidelines, and WWDC sessions. Mandates @Equatable on every view, @Observable for state, and style protocols as the primary component API.

Mandated Architecture Alignment

This skill is designed to work alongside swift-ui-architect. All code examples follow the same non-negotiable constraints:

  • Feature modules depend on Domain + DesignSystem; no direct Data dependency
  • @Observable for mutable UI state, ObservableObject / @Published never
  • @Equatable macro on every view
  • Style protocols as the primary component styling API (Airbnb DLS pattern)
  • Asset catalog as the source of truth for color values
  • Local SPM package for design system module boundary

Scope & Relationship to Sibling Skills

This skill is the infrastructure layer — it teaches how to BUILD the design system itself. When loaded alongside sibling skills:

| Sibling Skill | Its Focus | This Skill's Focus | |---------------|-----------|-------------------| | swift-ui-architect | Architecture (modular MVVM-C, route shells, protocol boundaries) | Design system infrastructure (tokens, styles, governance) | | ios-design | Using design primitives (semantic colors, typography) | Engineering the token system that provides those primitives | | ios-ui-refactor | Auditing/fixing visual quality issues | Preventing those issues via governance and automation | | ios-hig | HIG compliance patterns | Asset and component infrastructure that makes compliance easy |

Clinic Architecture Contract (iOS 26 / Swift 6.2)

All guidance in this skill assumes the clinic modular MVVM-C architecture:

  • Feature modules import Domain + DesignSystem only (never Data, never sibling features)
  • App target is the convergence point and owns DependencyContainer, concrete coordinators, and Route Shell wiring
  • Domain stays pure Swift and defines models plus repository, *Coordinating, ErrorRouting, and AppError contracts
  • Data owns SwiftData/network/sync/retry/background I/O and implements Domain protocols
  • Read/write flow defaults to stale-while-revalidate reads and optimistic queued writes
  • ViewModels call repository protocols directly (no default use-case/interactor layer)

When to Apply

Reference these guidelines when:

  • Setting up a design system for a new iOS app
  • Building token architecture (colors, typography, spacing, sizing)
  • Creating reusable component styles (ButtonStyle, LabelStyle, custom DLS protocols)
  • Organizing asset catalogs (colors, images, icons)
  • Migrating from ad-hoc styles to a governed token system
  • Preventing style drift and enforcing consistency via automation
  • Building theming infrastructure for whitelabel or multi-brand apps
  • Reviewing PRs for ungoverned colors, hardcoded values, or shadow tokens

Rule Categories by Priority

| Priority | Category | Impact | Prefix | Rules | |----------|----------|--------|--------|-------| | 1 | Token Architecture | CRITICAL | token- | 6 | | 2 | Color System Engineering | CRITICAL | color- | 7 | | 3 | Component Style Library | CRITICAL | style- | 10 | | 4 | Typography Scale | HIGH | type- | 5 | | 5 | Spacing & Sizing System | HIGH | space- | 5 | | 6 | Consistency & Governance | HIGH | govern- | 7 | | 7 | Asset Management | MEDIUM-HIGH | asset- | 5 | | 8 | Theme & Brand Infrastructure | MEDIUM | theme- | 5 |

Quick Reference

1. Token Architecture (CRITICAL)

2. Color System Engineering (CRITICAL)

3. Component Style Library (CRITICAL)

4. Typography Scale (HIGH)

5. Spacing & Sizing System (HIGH)

6. Consistency & Governance (HIGH)

7. Asset Management (MEDIUM-HIGH)

8. Theme & Brand Infrastructure (MEDIUM)

How to Use

Read individual reference files for detailed explanations and code examples:

Reference Files

| File | Description | |------|-------------| | references/_sections.md | Category definitions and ordering | | assets/templates/_template.md | Template for new rules | | metadata.json | Version and reference information |