axiom-ios-data

CharlesWiltgen's avatarfrom CharlesWiltgen

Use when working with ANY data persistence, database, axiom-storage, CloudKit, migration, or serialization. Covers SwiftData, Core Data, GRDB, SQLite, CloudKit sync, file storage, Codable, migrations.

⭐181stars🔀11forks📁View on GitHub🕐Updated Jan 9, 2026

When & Why to Use This Skill

This Claude skill serves as a comprehensive router and architectural guide for iOS data persistence and storage solutions. It intelligently directs developers to specialized workflows for SwiftData, Core Data, GRDB, and SQLite, while prioritizing data safety through rigorous migration protocols and cloud synchronization patterns.

Use Cases

  • Architecting robust data persistence layers in iOS apps using SwiftData, Core Data, or low-level SQLite/GRDB.
  • Managing complex database schema migrations to prevent 'no such column' crashes and ensure data integrity.
  • Implementing and troubleshooting cloud synchronization features using CloudKit and iCloud Drive.
  • Handling data serialization and deep JSON parsing challenges using the Swift Codable protocol.
  • Evaluating and selecting the optimal storage strategy (File System vs. Database vs. Cloud) based on app requirements.
nameaxiom-ios-data
descriptionUse when working with ANY data persistence, database, axiom-storage, CloudKit, migration, or serialization. Covers SwiftData, Core Data, GRDB, SQLite, CloudKit sync, file storage, Codable, migrations.
user-invocablefalse

iOS Data & Persistence Router

You MUST use this skill for ANY data persistence, database, axiom-storage, CloudKit, or serialization work.

When to Use

Use this router when working with:

  • Databases (SwiftData, Core Data, GRDB, SQLiteData)
  • Schema migrations
  • CloudKit sync
  • File storage (iCloud Drive, local storage)
  • Data serialization (Codable, JSON)
  • Storage strategy decisions

Routing Logic

SwiftData

Working with SwiftData → /skill axiom-swiftdata Schema migration → /skill axiom-swiftdata-migration Migration issues → /skill axiom-swiftdata-migration-diag Migrating from Realm → /skill axiom-realm-migration-ref SwiftData vs SQLiteData → /skill axiom-sqlitedata-migration

Other Databases

GRDB queries → /skill axiom-grdb SQLiteData → /skill axiom-sqlitedata Advanced SQLiteData → /skill axiom-sqlitedata-ref Core Data patterns → /skill axiom-core-data Core Data issues → /skill axiom-core-data-diag

Migrations

Database migration safety → /skill axiom-database-migration (critical - prevents data loss)

Serialization

Codable issues → /skill axiom-codable

Cloud Storage

Cloud sync patterns → /skill axiom-cloud-sync CloudKit → /skill axiom-cloudkit-ref iCloud Drive → /skill axiom-icloud-drive-ref Cloud sync errors → /skill axiom-cloud-sync-diag

File Storage

Storage strategy → /skill axiom-storage Storage issues → /skill axiom-storage-diag Storage management → /skill axiom-storage-management-ref File protection → /skill axiom-file-protection-ref

Decision Tree

User asks about data/storage
  ├─ Database?
  │  ├─ SwiftData? → swiftdata, axiom-swiftdata-migration
  │  ├─ Core Data? → core-data, axiom-core-data-diag
  │  ├─ GRDB? → grdb
  │  └─ SQLiteData? → sqlitedata
  │
  ├─ Migration? → database-migration (ALWAYS - prevents data loss)
  │
  ├─ Cloud storage?
  │  ├─ Sync architecture? → cloud-sync
  │  ├─ CloudKit? → cloudkit-ref
  │  ├─ iCloud Drive? → icloud-drive-ref
  │  └─ Sync errors? → cloud-sync-diag
  │
  ├─ Serialization? → codable
  │
  └─ File storage? → storage, axiom-storage-diag, axiom-storage-management-ref

Critical Pattern: Migrations

ALWAYS invoke /skill axiom-database-migration when adding/modifying database columns.

This prevents:

  • "FOREIGN KEY constraint failed" errors
  • "no such column" crashes
  • Data loss from unsafe migrations

Example Invocations

User: "I need to add a column to my SwiftData model" → Invoke: /skill axiom-database-migration (critical - prevents data loss)

User: "How do I query SwiftData with complex filters?" → Invoke: /skill axiom-swiftdata

User: "CloudKit sync isn't working" → Invoke: /skill axiom-cloud-sync-diag

User: "Should I use SwiftData or SQLiteData?" → Invoke: /skill axiom-sqlitedata-migration