Individual skill
swift-data
SwiftData persistence and data-layer architecture for iOS 26 / Swift 6.2 clinic modular MVVM-C apps. Use when writing, reviewing, or refactoring @Model entities, repository implementations, stale-while-revalidate reads, optimistic queued writes, sync/retry behavior, and SwiftUI integration that keeps SwiftData types inside Data-only boundaries.
skills/.experimental/swift-data/SKILL.md
Source commit cf93c57cac89d6fc3e4194686000411567f5caf3
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- Yes
- Observed behavior
- Not checked yet
- Last checked
- Nov 5, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 222
- Repository last updated
- Aug 15, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- engineering Derived category
- writing Derived category
- data Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 14,039 bytesassets/templates/_template.mddoc · 641 bytesmetadata.jsonasset · 2,835 bytesreferences/_sections.mddoc · 3,271 bytesreferences/crud-cancel-delete.mddoc · 3,168 bytesreferences/crud-delete-indexset.mddoc · 3,376 bytesreferences/crud-dismiss-save.mddoc · 2,917 bytesreferences/crud-edit-button.mddoc · 2,237 bytesreferences/crud-insert-context.mddoc · 3,088 bytesreferences/crud-save-error-handling.mddoc · 3,108 bytesreferences/crud-sheet-creation.mddoc · 4,110 bytesreferences/crud-undo-cancel.mddoc · 3,956 bytesreferences/model-class-for-persistence.mddoc · 1,308 bytesreferences/model-computed-properties.mddoc · 1,832 bytesreferences/model-custom-types.mddoc · 1,666 bytesreferences/model-defaults.mddoc · 2,273 bytesreferences/model-domain-mapping.mddoc · 4,150 bytesreferences/model-external-storage.mddoc · 1,768 bytesreferences/model-identifiable.mddoc · 1,491 bytesreferences/model-initializer.mddoc · 1,498 bytesreferences/model-transient.mddoc · 1,874 bytesreferences/persist-app-group.mddoc · 2,402 bytesreferences/persist-autosave.mddoc · 2,099 bytesreferences/persist-container-error-recovery.mddoc · 3,327 bytesreferences/persist-container-setup.mddoc · 2,236 bytesreferences/persist-context-environment.mddoc · 2,763 bytesreferences/persist-enumerate-batch.mddoc · 2,060 bytesreferences/persist-identifier-transfer.mddoc · 2,035 bytesreferences/persist-in-memory-config.mddoc · 2,127 bytesreferences/persist-model-actor.mddoc · 2,887 bytesreferences/persist-model-macro.mddoc · 1,690 bytesreferences/persist-repository-wrapper.mddoc · 5,430 bytesreferences/preview-in-memory.mddoc · 1,602 bytesreferences/preview-main-actor.mddoc · 2,119 bytesreferences/preview-sample-singleton.mddoc · 2,763 bytesreferences/preview-static-data.mddoc · 1,905 bytesreferences/query-background-refresh.mddoc · 2,980 bytesreferences/query-dynamic-init.mddoc · 2,291 bytesreferences/query-expression.mddoc · 1,710 bytesreferences/query-fetch-descriptor.mddoc · 1,902 bytesreferences/query-fetch-tuning.mddoc · 2,168 bytesreferences/query-localized-search.mddoc · 1,399 bytesreferences/query-predicates.mddoc · 1,766 bytesreferences/query-property-wrapper.mddoc · 2,973 bytesreferences/query-sort-descriptors.mddoc · 1,477 bytesreferences/rel-array-many.mddoc · 1,420 bytesreferences/rel-delete-rules.mddoc · 2,103 bytesreferences/rel-explicit-sort.mddoc · 1,783 bytesreferences/rel-inverse-auto.mddoc · 1,599 bytesreferences/rel-optional-single.mddoc · 1,954 bytesreferences/schema-configuration.mddoc · 2,871 bytesreferences/schema-define-all-types.mddoc · 1,730 bytesreferences/schema-index.mddoc · 2,252 bytesreferences/schema-migration-plan.mddoc · 3,000 bytesreferences/schema-migration-recovery.mddoc · 3,658 bytesreferences/schema-unique-attributes.mddoc · 2,464 bytesreferences/schema-unique-macro.mddoc · 1,966 bytesreferences/state-bindable.mddoc · 2,026 bytesreferences/state-business-logic-placement.mddoc · 2,279 bytesreferences/state-dependency-injection.mddoc · 4,309 bytesreferences/state-local-state.mddoc · 1,982 bytesreferences/state-query-vs-viewmodel.mddoc · 5,151 bytesreferences/state-wrapper-views.mddoc · 2,482 bytesreferences/sync-conflict-resolution.mddoc · 4,626 bytesreferences/sync-fetch-persist.mddoc · 5,063 bytesreferences/sync-offline-first.mddoc · 4,216 bytes
Read excerpt
# SwiftData Best Practices — Modular MVVM-C Data Layer
Comprehensive data modeling, persistence, sync architecture, and error handling guide for SwiftData aligned with the clinic modular MVVM-C stack.
## Architecture Alignment
This skill enforces the same modular architecture mandated by `swift-ui-architect`:
```
┌───────────────────────────────────────────────────────────────┐
│ Feature modules: View + ViewModel, no SwiftData imports │
├───────────────────────────────────────────────────────────────┤
│ Domain: models + repository/coordinator/error protocols │
├───────────────────────────────────────────────────────────────┤