ios-design

SKILL.md

Apple SwiftUI iOS Design Best Practices

A builder's guide for implementing Apple-quality iOS interfaces in SwiftUI, grounded in two foundational design texts:

  • Ken KociendaCreative Selection (empathy for the user, craft in coding, taste in choosing the best solution, demo culture of iterative refinement)
  • John EdsonDesign Like Apple (systems thinking, the product is the marketing, design out loud, design with conviction)

Contains 62 rules across 8 principle-based categories. Each rule identifies a specific anti-pattern, grounds the fix in a named principle, and provides the correct iOS 26 / Swift 6.2 SwiftUI implementation.

Scope & Relationship to Sibling Skills

This skill is the building and implementation guide — it teaches how to construct new SwiftUI interfaces from scratch using Apple-quality patterns. When loaded alongside ios-ui-refactor (reviewing/refactoring existing UI), this skill covers the greenfield implementation that ios-ui-refactor later audits. Use this skill for building new screens; use the sibling for evaluating and improving existing ones.

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:

  • Building new SwiftUI views and screens from scratch
  • Choosing between semantic colors, system typography, and spacing grids (Edson's Systems Thinking)
  • Managing state with @State, @Binding, @Observable, @Environment (Kocienda's Craft)
  • Selecting the right component: List vs LazyVStack, Sheet vs FullScreenCover (Kocienda's Taste)
  • Composing views with @ViewBuilder, custom modifiers, and value types (Kocienda's Creative Selection)
  • Implementing navigation with NavigationStack, TabView, sheets (Edson's Conversation)
  • Laying out content with stacks, grids, frames, and adaptive layouts (Edson's Design Out Loud)
  • Ensuring VoiceOver, touch targets, Dark Mode, and reduce motion support (Kocienda's Empathy)
  • Adding transitions, loading states, and animation polish (Edson's Product Is the Marketing)

Rule Categories by Priority

Priority Category Principle Impact Prefix Rules
1 Empathy in Every Pixel Kocienda "Empathy" · Edson "Design Is About People" CRITICAL empathy- 8
2 The Visual System Edson "Systems Thinking" · Kocienda "Convergence" CRITICAL system- 8
3 Craft: State as Foundation Kocienda "Craft" CRITICAL craft- 7
4 Creative Composition Kocienda "Creative Selection" HIGH compose- 6
5 Taste: The Right Choice Kocienda "Taste" · Edson "Design with Conviction" HIGH taste- 8
6 Navigation as Conversation Edson "Design Is a Conversation" · Kocienda "The Demo" HIGH converse- 9
7 Design Out Loud: Layout Edson "Design Out Loud" · Kocienda "Intersection" HIGH layout- 8
8 The Product Speaks Edson "Product Is the Marketing" · Kocienda "Demo Culture" MEDIUM product- 8

Quick Reference

1. Empathy in Every Pixel (CRITICAL)

Kocienda: "Empathy — trying to see the world from other people's perspectives." Edson: design begins with the person holding the device.

2. The Visual System (CRITICAL)

Edson: "Zoom out to see relationships between objects." Kocienda: convergence — many decisions narrowing toward one coherent whole.

3. Craft: State as Foundation (CRITICAL)

Kocienda: "Craft — applying skill to achieve a high-quality result."

4. Creative Composition (HIGH)

Kocienda: "Creative selection — great software is built through composition and recombination."

5. Taste: The Right Choice (HIGH)

Kocienda: "Taste — refined judgment, the ability to choose the one right solution." Edson: commit to one approach and perfect it.

6. Navigation as Conversation (HIGH)

Edson: "Design is a conversation between the product and the person." Kocienda: demos as conversations about whether the interface speaks clearly.

7. Design Out Loud: Layout (HIGH)

Edson: "Design Out Loud — prototype relentlessly until layout feels inevitable." Kocienda: the intersection of technology and liberal arts.

8. The Product Speaks (MEDIUM)

Edson: "The product itself is the marketing." Kocienda: every animation and loading state built to survive Steve Jobs' scrutiny.

How to Use

Read individual reference files for detailed explanations and code examples:

Reference Files

File Description
references/_sections.md Category definitions and principle grounding
assets/templates/_template.md Template for new rules
metadata.json Version and reference information
Weekly Installs
65
GitHub Stars
71
First Seen
Feb 8, 2026
Installed on
codex60
gemini-cli58
opencode57
github-copilot57
claude-code56
kimi-cli55