iOS Knowledge Skill – Architecture & Patterns
This skill equips agents with high-level iOS knowledge for the OS 4.1 iOS lane
without bloating individual agent prompts.
It is intended for:
ios-grand-architect
ios-architect
- Core iOS specialists (SwiftUI/UIKit/persistence/networking/testing/perf/security)
when they need architectural context.
Context7 Libraries
When you load this skill, you MAY use context7 MCP tools to read from:
os2-ios-architecture
- SwiftUI vs UIKit vs mixed stack guidance,
- MVVM/TCA/Clean patterns for iOS,
- Navigation, modularization, and dependency injection strategies.
os2-ios-standards
- Coding standards for the iOS lane,
- Error handling and logging patterns,
- Guidelines for concurrency, testing, and app structure.
/websites/developer_apple_swiftdata (via Context7)
- SwiftData models with @Model, @Relationship, cascade deletes
- Preferred over Core Data for iOS 17.0+ projects
- In-memory testing with ModelContainer
- Native, zero-dependency persistence
/ra1028/swiftui-atom-properties (via Context7)
- Atomic state management for complex cross-feature coordination
- StateAtom, ValueAtom, ObservableObjectAtom patterns
- Testing with AtomTestContext
- Compile-safe dependency injection
/pointfreeco/swift-navigation (via Context7)
- State-driven navigation with @CasePathable enums
- Sheet/modal presentation tied to model state
- Deep linking and state restoration
- Two-way bindings for navigation state
You SHOULD:
- Read only the sections relevant to the current task,
- Summarize 3–7 key constraints or patterns into your own working context,
- Avoid loading large example sections unless explicitly needed.
Usage Pattern
When planning an iOS task:
- Load
ios-knowledge-skill and skim the relevant context7 docs.
- Extract:
- Recommended UI stack (SwiftUI vs UIKit/TCA/MVVM),
- Data strategy hints (SwiftData vs Core Data/GRDB),
- Lane-specific constraints (design DNA/tokens, concurrency rules).
When writing phase_state.planning:
- Reflect these decisions in:
architecture_path,
data_strategy,
plan_summary.
When delegating to implementers/gates:
- Ensure the plan and assignment reflect the chosen patterns,
- Reference this skill implicitly (do not restate everything in agent prompts).
When planning data persistence (iOS 17.0+):
- Prefer SwiftData with @Model macro for new projects
- Use @Relationship(.cascade) for parent-child relationships
- Plan ModelContainer with isStoredInMemoryOnly for testing
- Consider SwiftData Query for reactive UI updates
When planning complex state management:
- Consider SwiftUI Atom Properties for cross-feature state coordination
- Use StateAtom for mutable state (replaces @State for shared state)
- Use ValueAtom for computed/derived values
- Use ObservableObjectAtom for complex objects
- Plan AtomTestContext tests for state logic
When planning navigation architecture:
- Consider Swift Navigation for state-driven navigation
- Model destinations as @CasePathable enums
- Tie sheet/modal/alert presentation to model state
- Plan for deep linking via URL → destination state mapping
- Use navigationDestination(item:) for push navigation
This skill is about progressive disclosure: give agents just enough iOS
architecture knowledge to make good decisions, while leaving detailed examples
and recipes in context7 where they can be fetched on demand.
1---2name: ios-knowledge-skill3description: Skill providing structured iOS lane knowledge: SwiftUI vs UIKit/TCA/MVVM patterns, data stack choices, and OS 4.1 iOS standards. Uses context7 libraries for global guidance.4---5
6# iOS Knowledge Skill – Architecture & Patterns
7
8This skill equips agents with high-level iOS knowledge for the OS 4.1 iOS lane
9without bloating individual agent prompts.
10
11It is intended for:
12- `ios-grand-architect`
13- `ios-architect`
14- Core iOS specialists (SwiftUI/UIKit/persistence/networking/testing/perf/security)
15 when they need architectural context.
16
17## Context7 Libraries
18
19When you load this skill, you MAY use context7 MCP tools to read from:
20
21- `os2-ios-architecture`
22 - SwiftUI vs UIKit vs mixed stack guidance,
23 - MVVM/TCA/Clean patterns for iOS,
24 - Navigation, modularization, and dependency injection strategies.
25
26- `os2-ios-standards`
27 - Coding standards for the iOS lane,
28 - Error handling and logging patterns,
29 - Guidelines for concurrency, testing, and app structure.
30
31- `/websites/developer_apple_swiftdata` (via Context7)
32 - SwiftData models with @Model, @Relationship, cascade deletes
33 - Preferred over Core Data for iOS 17.0+ projects
34 - In-memory testing with ModelContainer
35 - Native, zero-dependency persistence
36
37- `/ra1028/swiftui-atom-properties` (via Context7)
38 - Atomic state management for complex cross-feature coordination
39 - StateAtom, ValueAtom, ObservableObjectAtom patterns
40 - Testing with AtomTestContext
41 - Compile-safe dependency injection
42
43- `/pointfreeco/swift-navigation` (via Context7)
44 - State-driven navigation with @CasePathable enums
45 - Sheet/modal presentation tied to model state
46 - Deep linking and state restoration
47 - Two-way bindings for navigation state
48
49You SHOULD:
50- Read only the sections relevant to the current task,
51- Summarize 3–7 key constraints or patterns into your own working context,
52- Avoid loading large example sections unless explicitly needed.
53
54## Usage Pattern
55
561. When planning an iOS task:
57 - Load `ios-knowledge-skill` and skim the relevant context7 docs.
58 - Extract:
59 - Recommended UI stack (SwiftUI vs UIKit/TCA/MVVM),
60 - Data strategy hints (SwiftData vs Core Data/GRDB),
61 - Lane-specific constraints (design DNA/tokens, concurrency rules).
62
632. When writing `phase_state.planning`:
64 - Reflect these decisions in:
65 - `architecture_path`,
66 - `data_strategy`,
67 - `plan_summary`.
68
693. When delegating to implementers/gates:
70 - Ensure the plan and assignment reflect the chosen patterns,
71 - Reference this skill implicitly (do not restate everything in agent prompts).
72
734. When planning data persistence (iOS 17.0+):
74 - **Prefer SwiftData** with @Model macro for new projects
75 - Use @Relationship(.cascade) for parent-child relationships
76 - Plan ModelContainer with isStoredInMemoryOnly for testing
77 - Consider SwiftData Query for reactive UI updates
78
795. When planning complex state management:
80 - **Consider SwiftUI Atom Properties** for cross-feature state coordination
81 - Use StateAtom for mutable state (replaces @State for shared state)
82 - Use ValueAtom for computed/derived values
83 - Use ObservableObjectAtom for complex objects
84 - Plan AtomTestContext tests for state logic
85
866. When planning navigation architecture:
87 - **Consider Swift Navigation** for state-driven navigation
88 - Model destinations as @CasePathable enums
89 - Tie sheet/modal/alert presentation to model state
90 - Plan for deep linking via URL → destination state mapping
91 - Use navigationDestination(item:) for push navigation
92
93This skill is about **progressive disclosure**: give agents just enough iOS
94architecture knowledge to make good decisions, while leaving detailed examples
95and recipes in context7 where they can be fetched on demand.
96