swiftdata · dpearson2699 — скилл для Claude Code: работа с SwiftData в iOS-проектах
Подсказывает агенту, как писать модели, запросы и миграции SwiftData, чтобы код на Swift 6.3 собирался без типичных промахов.
npx skills add dpearson2699/swift-ios-skills --skill swiftdata -a claude-codeЧто делает swiftdata
Скилл разворачивает перед агентом справочник по SwiftData: объявление классов с @Model, опции @Attribute вроде .externalStorage и .unique, правила удаления в @Relationship, составные ключи через #Unique. Отдельные разделы — @Query в SwiftUI, #Predicate, FetchDescriptor, версионирование схемы через VersionedSchema и SchemaMigrationPlan.
Есть блок про CloudKit: агент проверяет entitlements (iCloud с CloudKit и выбранным контейнером, Background Modes с remote notifications) и совместимость схемы до того, как что-то советовать по синхронизации. Модели остаются привязанными к контексту и актору, поэтому между акторами передаётся PersistentIdentifier, а не сам объект — иначе получите падение или гонку.
Скилл рассчитан на iOS 26+ и Swift 6.3: наследование моделей и часть синтаксиса в более старых тулчейнах не соберутся. Для фоновой работы описан @ModelActor. Удаления по предикату скилл советует сначала прогонять на одноразовой копии хранилища и только потом на боевых данных — ошибка в #Predicate стирает не то, что вы имели в виду.
Какие задачи решает
- объявить модель с внешним хранилищем для картинок и каскадным удалением связи
- отфильтровать список во SwiftUI по строке поиска через
#Predicate - перевести хранилище на новую версию схемы без потери данных
- включить синхронизацию с CloudKit и проверить, что схема ей не мешает
- вынести запись в фоновый актор, не протаскивая модель между потоками
Примеры запросов агенту
- Опиши
@ModelклассTripс полямиname,destination, датами и связью с жильём через@Relationshipс каскадным удалением - Сделай экран со списком избранных поездок на
@Queryс сортировкой поstartDateв обратном порядке - Спланируй миграцию хранилища на новую схему с
VersionedSchemaиSchemaMigrationPlan
Как установить swiftdata
1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill swiftdata -a claude-code2Вручную: положить файлы
~/.claude/skills/swiftdata/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/swiftdata/
1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill swiftdata -a codex2Вручную: положить файлы
.agents/skills/swiftdata/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill swiftdata -a cursor2Вручную: положить файлы
.cursor/skills/swiftdata/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dpearson2699/swift-ios-skills swiftdata2Вручную: положить файлы
.github/skills/swiftdata/SKILL.md1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill swiftdata -a gemini-cli2Командой платформы
gemini skills install https://github.com/dpearson2699/swift-ios-skills --path skills/swiftdataВручную: положить файлы
.devin/skills/swiftdata/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill swiftdata -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о swiftdata
Как установить swiftdata в Claude Code?
Выполните npx skills add dpearson2699/swift-ios-skills --skill swiftdata -a claude-code, затем убедитесь, что файл появился по пути ~/.claude/skills/swiftdata/SKILL.md.
Что делает swiftdata?
Даёт агенту готовые образцы кода и чек-лист по SwiftData: модели, связи, запросы, контейнер, миграции и синхронизация с CloudKit. Агент опирается на них, когда пишет или проверяет слой хранения.
Какие версии iOS и Swift нужны?
Скилл написан под iOS 26+ и Swift 6.3. Наследование моделей и связанный синтаксис в более старых инструментах не скомпилируются.
Похожие скиллы
Всё по теме «Мобильная разработка» →Сначала — swiftdata от других авторов.