axiom-accessibility
Use when fixing or auditing ANY accessibility issue — VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance, App Store accessibility review.
Use when working with ANY data persistence, database, storage, CloudKit, migration, or serialization. Covers SwiftData, Core Data, GRDB, SQLite, Realm, CloudKit sync, file storage, Codable, migrations.
$ npx -y skills add charleswiltgen/axiom --skill axiom-data --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/axiom-dataContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when working with ANY data persistence, database, storage, CloudKit, migration, or serialization. Covers SwiftData, Core Data, GRDB, SQLite, Realm, CloudKit sync, file storage, Codable, migrations.
name: axiom-data description: Use when working with ANY data persistence, database, storage, CloudKit, migration, or serialization. Covers SwiftData, Core Data, GRDB, SQLite, Realm, CloudKit sync, file storage, Codable, migrations. license: MIT
**You MUST use this skill for ANY data persistence, database, storage, CloudKit, or serialization work.**
<!-- AXIOM_AUDITOR_INLINE_BEGIN — rewritten for Codex by scripts/build-codex.ts; do not hand-edit --> > **Auditors are skills here.** Where this router says "Launch `some-auditor` agent", invoke the > matching Codex skill instead — same procedure, no Claude Code agent required. > > Available: `axiom-audit-codable`, `axiom-audit-core-data`, `axiom-audit-database-schema`, `axiom-audit-grdb-performance`, `axiom-audit-icloud`, `axiom-audit-storage`, `axiom-audit-swiftdata`. > > The ones that shell out — builds, tests, simulators, crash symbolication — need shell access to run. <!-- AXIOM_AUDITOR_INLINE_END -->
Use this skill when working with:
| Symptom / Task | Reference | |----------------|-----------| | SwiftData @Model, @Query, ModelContext, sectioned queries / ResultsObserver / @Attribute(.codable) / dynamic compound predicates (`OS27`) | See `skills/swiftdata.md` | | SwiftData schema migration, VersionedSchema | See `skills/swiftdata-migration.md` | | SwiftData migration crashes, data loss | See `skills/swiftdata-migration-diag.md` | | Migrating from Realm to SwiftData | See `skills/realm-migration-ref.md` | | SwiftData vs SQLiteData decision | See `skills/sqlitedata-migration.md` | | GRDB queries, upsert, ValueObservation, DatabaseMigrator, encryption | See `skills/grdb.md` | | GRDB performance, indexes, EXPLAIN QUERY PLAN, cursors, observation not firing | See `skills/grdb-performance.md` | | Full-text search (FTS5) in GRDB or SQLiteData | See `skills/sqlite-fts-ref.md` | | Storing or querying JSON inside a SQLite column (JSON1, JSONB) | See `skills/sql-json-ref.md` | | GRDB shared across app + widget/extension (App Group) | See `skills/grdb-app-groups.md` | | SQLiteData @Table, CRUD, SyncEngine | See `skills/sqlitedata.md` | | SQLiteData advanced patterns, CTEs, views | See `skills/sqlitedata-ref.md` | | `@Shared` / `@SharedReader`, appStorage or fileStorage persistence, custom SharedKey, `isLoading` / `loadError` on `@FetchAll` | See `skills/swift-sharing.md` | | Core Data stack, relationships, concurrency | See `skills/core-data.md` | | Core Data migration crashes, thread errors | See `skills/core-data-diag.md` | | ANY schema migration safety | See `skills/database-migration.md` | | Codable, JSON encoding/decoding | See `skills/codable.md` | | Cloud sync architecture, offline-first | See `skills/cloud-sync.md` | | CloudKit, CKSyncEngine, CKRecord | See `skills/cloudkit-ref.md` | | iCloud Drive, ubiquitous containers | See `skills/icloud-drive-ref.md` | | Cloud sync errors, conflict resolution | See `skills/cloud-sync-diag.md` | | Storage strategy, where to store data | See `skills/storage.md` | | Storage issues, files disappeared | See `skills/storage-diag.md` | | Storage management, disk pressure | See `skills/storage-management-ref.md` | | Keychain / secure credential storage | See axiom-security (skills/keychain.md) | | Keychain errors (errSecDuplicateItem) | See axiom-security (skills/keychain-diag.md) | | Keychain API reference | See axiom-security (skills/keychain-ref.md) | | Encryption / signing / key management | See axiom-security (skills/cryptokit.md) | | CryptoKit API reference | See axiom-security (skills/cryptokit-ref.md) | | File protection, NSFileProtection | See axiom-security (skills/file-protection-ref.md) | | tvOS data persistence (no local storage) | See axiom-swift (skills/tvos.md) | | tvOS + CloudKit SyncEngine | See `skills/sqlitedata.md` |
**Core Data audit** → `axiom-audit-core-data` (safety violations, architectural gaps — migration options, thread-confinement, N+1 queries, merge policies, context isolation) **Codable audit** → `axiom-audit-codable` (safety violations, semantic gaps — try? swallowing errors, JSONSerialization, date handling, silent field drops, wrapper-hidden fallbacks, cross-file strategy drift, enum future-case crashes) **iCloud audit** → `axiom-audit-icloud` (entitlement checks, file coordination, incomplete CKError matrix coverage, missing account-change observation, polling vs CKSubscriptions, SwiftData + CloudKit unsupported features, compound risks like uncoordinated I/O across extensions) **Storage audit** → `axiom-audit-storage` (wrong file locations, missing backup exclusions, sensitive data on disk vs Keychain, missing App Group containers, unbounded cache growth, orphan files, compound risks like user data in tmp/ + critical content) **Database schema audit** → `axiom-audit-database-schema` (unsafe ALTER TABLE, DROP operations, missing idempotency, FK constraints declared but not enforced, incomplete upgrade paths, compound risks like INSERT OR REPLACE on FK-referenced tables) **GRDB performance audit** → `axiom-audit-grdb-performance` (raw SQL string interpolation, missing FK indexes in raw SQL, missing PRAGMA optimize for raw-GRDB apps, journal mode mismatch for app-group DBs, missing observesSuspensionNotifications for shared DBs, prefix-redundant indexes in raw SQL, legacy Record subclass, INSERT OR REPLACE misused as upsert, observation on WITHOUT ROWID tables, WITHOUT ROWID upsert bugs) **SwiftData audit** → `axiom-audit-swiftdata` (struct models, missing schema registration, array relationships without defaults, background context misuse, N+1 patterns, stale predicates, CloudKit conformance gaps, co
Battle-tested skills, agents, and tools for modern Apple OS development — Swift 6, SwiftUI, Liquid Glass, Apple Intelligence, and more. Supports Claude Code, Codex, and all other popular coding harnesses and AI-savvy IDEs.
Repo: charleswiltgen/axiom
Use when fixing or auditing ANY accessibility issue — VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance, App Store accessibility review.
Use when implementing, testing, or evaluating ANY Apple Intelligence, on-device AI, or speech-to-text feature. Covers Foundation Models, @Generable,…
Use when the user has a crash log (.ips, MetricKit JSON, legacy .crash text, .xccrashpoint bundle, or pasted text) that needs analysis.
Use when the user mentions Swift performance audit, code optimization, or performance review.
Use when the user mentions SwiftUI performance, janky scrolling, slow animations, or view update issues.
Use when the user mentions flaky tests, tests that pass locally but fail in CI, race conditions in tests, or needs to diagnose WHY a specific test fails.