pproenca/dot-skills66 files

iOS Design

SwiftUI interface implementation patterns aligned with the iOS 26 / Swift 6.2 clinic modular MVVM-C architecture, grounded in Creative Selection and Design Like Apple principles. Use when building new SwiftUI views/screens while respecting Domain/Data boundaries, App-target route-shell navigation, and production-grade accessibility/interaction standards.

Specification
Skill ID
pproenca/dot-skills/ios-design
Publisher
pproenca
Repository
dot-skills
Installs
0
Files
66
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

pproenca/dot-skills/ios-designInstalls these files
  • SKILL.md
  • assets/templates/_template.md
  • metadata.json
  • references/_sections.md
  • references/compose-body-some-view.md
  • references/compose-custom-properties.md
  • references/compose-modifier-order.md
  • references/compose-prefer-composition.md
  • references/compose-prefer-value-types.md
  • references/compose-viewbuilder.md
  • references/converse-dismiss.md
  • references/converse-hierarchy.md
  • references/converse-nav-bar.md
  • references/converse-navigationstack.md
  • references/converse-search.md
  • references/converse-sheet-item.md
  • references/converse-tab-bar.md
  • references/converse-tabview.md
  • references/converse-toolbar.md
  • references/craft-avoid-body-state.md
  • references/craft-minimize-scope.md
  • references/craft-state-bindable.md
  • references/craft-state-binding.md
  • references/craft-state-environment.md
  • references/craft-state-local.md
  • references/craft-state-observable.md
  • references/empathy-dark-mode.md
  • references/empathy-foreground-style.md
  • references/empathy-readable-width.md
  • references/empathy-reduce-motion.md
  • references/empathy-safe-areas.md
  • references/empathy-semantic-colors.md
  • references/empathy-touch-targets.md
  • references/empathy-voiceover-labels.md
  • references/layout-adaptive.md
  • references/layout-frame-sizing.md
  • references/layout-grid.md
  • references/layout-lazy-grids.md
  • references/layout-scroll-indicators.md
  • references/layout-spacer.md
  • references/layout-stacks.md
  • references/layout-zstack.md
  • references/product-content-unavailable.md
  • references/product-list-cells.md
  • references/product-loading-states.md
  • references/product-matched-geometry.md
  • references/product-menus.md
  • references/product-segmented.md
  • references/product-transitions.md
  • references/product-with-animation.md
  • references/system-gradients.md
  • references/system-material-backgrounds.md
  • references/system-sf-symbols.md
  • references/system-spacing-grid.md
  • references/system-stack-config.md
  • references/system-standard-margins.md
  • references/system-typography.md
  • references/system-visual-hierarchy.md
  • references/taste-action-sheets.md
  • references/taste-alerts.md
  • references/taste-button.md
  • references/taste-grid-vs-lazygrid.md
  • references/taste-list-vs-lazyvstack.md
  • references/taste-picker.md
  • references/taste-sheet-vs-fullscreen.md
  • references/taste-textfield.md

What this skill tells the agent

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 Kocienda — Creative Selection (empathy for the user, craft in coding, taste in choosing the best solution, demo culture of iterative refinement)
  • John Edson — Design 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

PriorityCategoryPrincipleImpactPrefixRules
1Empathy in Every PixelKocienda "Empathy" · Edson "Design Is About People"CRITICALempathy-8
2The Visual SystemEdson "Systems Thinking" · Kocienda "Convergence"CRITICALsystem-8
3Craft: State as FoundationKocienda "Craft"CRITICALcraft-7
4Creative CompositionKocienda "Creative Selection"HIGHcompose-6
5Taste: The Right ChoiceKocienda "Taste" · Edson "Design with Conviction"HIGHtaste-8
6Navigation as ConversationEdson "Design Is a Conversation" · Kocienda "The Demo"HIGHconverse-9
7Design Out Loud: LayoutEdson "Design Out Loud" · Kocienda "Intersection"HIGHlayout-8
8The Product SpeaksEdson "Product Is the Marketing" · Kocienda "Demo Culture"MEDIUMproduct-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.

  • `empathy-semantic-colors` - Use semantic colors, never hard-coded values
  • `empathy-dark-mode` - Support Dark Mode from day one
  • `empathy-foreground-style` - Use foregroundStyle over foregroundColor
  • `empathy-safe-areas` - Always respect safe areas for content
  • `empathy-voiceover-labels` - Add VoiceOver labels to every interactive element
  • `empathy-touch-targets` - Ensure 44x44 point minimum touch targets
  • `empathy-reduce-motion` - Always provide reduce motion fallback
  • `empathy-readable-width` - Constrain text to readable width on iPad

2. The Visual System (CRITICAL)

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

  • `system-typography` - Use system typography styles, never fixed sizes
  • `system-visual-hierarchy` - Establish clear visual hierarchy through size, weight, and color
  • `system-spacing-grid` - Use a 4pt base unit for all spacing
  • `system-material-backgrounds` - Use material backgrounds for depth and layering
  • `system-sf-symbols` - Use SF Symbols for consistent iconography
  • `system-gradients` - Apply gradients for visual depth, not decoration
  • `system-standard-margins` - Use system standard margins consistently
  • `system-stack-config` - Configure stack alignment and spacing explicitly

3. Craft: State as Foundation (CRITICAL)

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

  • `craft-state-local` - Use @State for view-local value types
  • `craft-state-binding` - Use @Binding for child view mutations
  • `craft-state-environment` - Use @Environment for shared app-wide data
  • `craft-state-observable` - Use @Observable for model classes
  • `craft-avoid-body-state` - Never create state inside the view body
  • `craft-minimize-scope` - Minimize state scope to reduce re-renders
  • `craft-state-bindable` - Use @Bindable for @Observable bindings

4. Creative Composition (HIGH)

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

  • `compose-body-some-view` - Return some View from body, never concrete types
  • `compose-custom-properties` - Use properties to make views configurable
  • `compose-modifier-order` - Apply view modifiers in the correct order
  • `compose-viewbuilder` - Use @ViewBuilder for flexible slot-based composition
  • `compose-prefer-value-types` - Prefer value types for view data
  • `compose-prefer-composition` - Prefer composition over inheritance for view reuse

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.

  • `taste-list-vs-lazyvstack` - Choose List for system features, LazyVStack for custom layouts
  • `taste-sheet-vs-fullscreen` - Choose sheet for tasks, fullScreenCover for immersion

Use this skill in a project

Open any RiverX project, search the Skills panel for pproenca/dot-skills/ios-design, and install it in one click.

Use this skill