What problem does it solve? Building SwiftData-backed apps involves subtle pitfalls like missing inverse relationships, thread-unsafe context usage, store-breaking schema changes, and CloudKit constraint violations that cause crashes or silent data corruption. This Skill provides expert architectural guidance and proven patterns to avoid these issues. ## Core Features & Use Cases - Schema & Relationship Design: Advises on @Model definitions, @Attribute options, bidirectional inverse relationships, and delete rules to prevent data corruption. - Context & Query Patterns: Covers ModelContainer setup, main vs background ModelContext usage, @Query with #Predicate filtering, and FetchDescriptor for imperative fetches. - Migrations & CloudKit: Deep-dive references on VersionedSchema, SchemaMigrationPlan lightweight and custom stages, plus CloudKit constraints like optional-only properties and last-write-wins conflicts. - Use Case: When adding a new non-optional property to a shipped SwiftData model, get guidance on whether a lightweight migration suffices or a custom MigrationStage with willMigrate/didMigrate hooks is required, including test code for the migration. ## Quick Start Ask how to design a SwiftData schema with relationships and migrations for your SwiftUI app, or request help fixing a specific SwiftData issue like a broken @Query or CloudKit crash.