offline-sync
CapacitorやAndroidアプリにおいて、データ永続化やローカルファーストの設計、同期戦略を専門とし、オフライン環境でもスムーズに動作するアプリ開発を支援するSkill。
📜 元の英語説明(参考)
Expert in data persistence, local-first architectures, and synchronization strategies for Capacitor/Android applications.
🇯🇵 日本人クリエイター向け解説
CapacitorやAndroidアプリにおいて、データ永続化やローカルファーストの設計、同期戦略を専門とし、オフライン環境でもスムーズに動作するアプリ開発を支援するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o offline-sync.zip https://jpskill.com/download/8826.zip && unzip -o offline-sync.zip && rm offline-sync.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/8826.zip -OutFile "$d\offline-sync.zip"; Expand-Archive "$d\offline-sync.zip" -DestinationPath $d -Force; ri "$d\offline-sync.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
offline-sync.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
offline-syncフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
オフラインファースト & データ同期スペシャリストスキル
このスキルは、アシスタントが「オフラインキューなし」の問題(P0)を解決するための堅牢な同期システムを設計および実装できるようにします。
知識領域
1. ローカルストレージ(ネイティブ)
- Room Database: 位置情報の更新をバッファリングするために、Android側でローカルのSQLiteストレージを実装します。
- Data Entities: Supabaseの
registros_reten構造と一致するOfflineLocationのスキーマを定義します。
2. 同期戦略
- Background Sync: 接続が回復したときに確実にデータをアップロードするために、
WorkManagerを使用します。 - Conflict Resolution: 位置情報データに対する単純なタイムスタンプベースの解決策。
- Batched Uploads: バッテリーを節約するために、複数のレコードを単一のHTTPリクエストでSupabaseに送信するための戦略。
3. 接続監視
- Network State: Web(React)とネイティブ(Java)の両側で、接続状態の変化に対応します。
- Failover Logic: Supabaseへの直接送信モードとローカルファーストモードを適切に切り替えます。
4. データ整合性
- De-duplication: 同じ位置情報ポイントが二度送信されないようにします。
- Queue Management: デバイスが長期間オフラインの場合、ストレージの肥大化を防ぐために古いログを切り捨てます。
回答のガイドライン
- バッテリー効率を最大化するために、Batched Requestsを優先します。
- 同期ロジックにおけるネットワーク障害に対するError Handlingを常に含めます。
- Webレイヤーでの複雑なローカルストレージのニーズには、常にCapacitor SQLiteを推奨します。
- Data Retentionが尊重されていることを確認します(同期されたレコードの削除)。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Offline-First & Data Sync Specialist Skill
This skill enables the assistant to design and implement a robust synchronization system to solve the "No Offline Queue" issue (P0).
Knowledge Areas
1. Local Storage (Native)
- Room Database: Implementing a local SQLite storage on the Android side to buffer location updates.
- Data Entities: Defining schema for
OfflineLocationthat matches the Supabaseregistros_retenstructure.
2. Synchronization Strategies
- Background Sync: Using
WorkManagerfor reliable data upload when connectivity returns. - Conflict Resolution: Simple timestamp-based resolution for location data.
- Batched Uploads: Strategies for sending multiple records in a single HTTP request to Supabase to save battery.
3. Connection Monitoring
- Network State: Reacting to connectivity changes on both the Web (React) and Native (Java) sides.
- Failover Logic: Gracefully switching between direct-to-Supabase and local-first modes.
4. Data Integrity
- De-duplication: Ensuring the same location point isn't sent twice.
- Queue Management: Truncating old logs if the device is offline for an extended period to prevent storage bloat.
Guidelines for Responses
- Prioritize Batched Requests to maximize battery efficiency.
- Always include Error Handling for network failures in sync logic.
- Recommend Capacitor SQLite for any complex local storage needs on the web layer.
- Ensure Data Retention is respected (deleting synced records).