mcpField
C
core-data-expert

core-data-expert

github.com/avdlee開発3182.5k 回インストール34 週間前に更新
リポジトリ

core-data-expert について

core-data-expertは、コーディングエージェント向けのCore Data開発・障害調査スキルです。テーマ別の資料へ案内し、コンテキストの安全性、移行、性能確認を重視します。

主な機能

  1. 01スタック構成と保存のガイダンス
  2. 02スレッド処理とSwift Concurrencyの助言
  3. 03移行とCloudKitのガイダンス
  4. 04一括操作と永続履歴
  5. 05性能・テスト資料

活用シーン

  1. 01コンテキスト間クラッシュの調査
  2. 02移行方式の選択
  3. 03一括更新がUIに反映されない問題の修正
  4. 04フェッチ時のメモリ増加の調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/avdlee/core-data-agent-skill --skill core-data-expert

インストール後、Claude Code で/core-data-expertを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
_index.md
batch-operations.md
cloudkit-integration.md
concurrency.md
fetch-requests.md
glossary.md
migration.md
model-configuration.md
performance.md
persistent-history.md
project-audit.md
saving.md
stack-setup.md
testing.md
threading.md

詳細

Core Data エキスパート

正確で、高パフォーマンスな Core Data スタックの構築と、よくあるクラッシュの修正に役立つ、迅速で本番環境向けのガイダンスです。

エージェントの行動規範(以下のルールに従ってください)

  1. アドバイスが利用可能性に左右される場合(iOS 14+/17+ の機能など)は、OS/デプロイメントターゲットを確認します。
  2. 修正を提案する前に、コンテキストの種類を特定します:**ビューコンテキスト(UI)**か、**バックグラウンドコンテキスト(重い処理)**か。
  3. コンテキスト間/タスク間の受け渡しには NSManagedObjectID を推奨します。NSManagedObject インスタンスをコンテキスト間で渡してはいけません。
  4. 可能な場合は軽量マイグレーションを優先します。複雑な変更には段階的マイグレーション(iOS 17+)を使用します。
  5. 一括操作を推奨する場合は、永続履歴トラッキングが有効になっていることを確認します(UI 更新に必要なことがよくあります)。
  6. CloudKit との統合については、Production スキーマは変更できないことを開発者に伝えます。
  7. WWDC/外部リソースへの参照は控えめにし、このスキルの references/ を優先します。

最初の 60 秒(トリアージ用テンプレート)

  • 目標を明確にします:セットアップ、バグ修正、マイグレーション、パフォーマンス、CloudKit のどれですか?
  • 必要最小限の情報を集めます:
    • プラットフォームとデプロイメントターゲット
    • ストアの種類(SQLite/インメモリ)と CloudKit が有効かどうか
    • 関連するコンテキスト(ビュー/バックグラウンド)と Swift Concurrency を使用しているかどうか
    • 正確なエラーメッセージとスタックトレース/ログ
  • すぐに分岐します:
    • スレッド処理/クラッシュ → コンテキストの分離と NSManagedObjectID の受け渡しに注目します
    • マイグレーションエラー → モデルのバージョンとマイグレーション戦略を特定します
    • 一括操作後に UI が更新されない → 永続履歴トラッキングとマージパイプラインを確認します

ルーティングマップ(適切なリファレンスをすばやく選択)

  • スタックのセットアップ/マージポリシー/コンテキスト → references/stack-setup.md
  • 保存パターン → references/saving.md
  • フェッチリクエスト/リストの更新/集計 → references/fetch-requests.md
  • 従来のスレッド処理(perform/performAndWait、オブジェクト ID) → references/threading.md
  • Swift Concurrency(async/await、アクター、Sendable、DAO) → references/concurrency.md
  • 一括挿入/削除/更新 → references/batch-operations.md
  • 永続履歴トラッキング+「一括操作後に UI が更新されない」 → references/persistent-history.md
  • モデル設定(制約、検証、派生/複合、変換可能型) → references/model-configuration.md
  • スキーママイグレーション(軽量/段階的/遅延) → references/migration.md
  • CloudKit 統合とデバッグ → references/cloudkit-integration.md
  • パフォーマンスのプロファイリングとメモリ → references/performance.md
  • テストパターン → references/testing.md
  • 用語 → references/glossary.md

よくあるエラー → 次に取るべき対応

  • 「Failed to find a unique match for an NSEntityDescription」 → references/testing.md(共有 NSManagedObjectModel)
  • NSPersistentStoreIncompatibleVersionHashError → references/migration.md(バージョン管理+マイグレーション)
  • コンテキスト間/スレッド処理の例外(例:誤ったコンテキストからの削除/更新) → references/threading.md および/または references/concurrency.md(NSManagedObjectID を使用)
  • Core Data に関する Sendable/アクター分離の警告 → references/concurrency.md(@unchecked Sendable で「問題を覆い隠さない」)
  • NSMergeConflict/制約違反 → references/model-configuration.md + references/stack-setup.md(制約+マージポリシー)
  • 一括操作後に UI が更新されない → references/persistent-history.md + references/batch-operations.md
  • CloudKit のスキーマ/同期に関する問題 → references/cloudkit-integration.md
  • フェッチ中にメモリ使用量が増加する → references/performance.md + references/fetch-requests.md

検証チェックリスト(Core Data コードを変更する場合)

  • コンテキストが作業内容(UI とバックグラウンドのどちらか)に合っていることを確認します。
  • NSManagedObject インスタンスがコンテキスト間を移動しないようにし、代わりに NSManagedObjectID を渡します。
  • バッチ操作を使用する場合は、永続履歴の追跡とマージパイプラインを確認します。
  • 制約を使用する場合は、マージポリシーと競合解決の戦略を確認します。
  • パフォーマンスに関する変更の場合は、Instruments でプロファイルを実行し、フェッチのバッチ処理と上限を検証します。

参考ファイル

  • references/_index.md(ナビゲーション)
  • references/stack-setup.md
  • references/saving.md
  • references/fetch-requests.md
  • references/threading.md
  • references/concurrency.md
  • references/batch-operations.md
  • references/persistent-history.md
  • references/model-configuration.md
  • references/migration.md
  • references/cloudkit-integration.md
  • references/performance.md
  • references/testing.md
  • references/glossary.md

コメント