Learn-skills.dev offline-sync
Expert in data persistence, local-first architectures, and synchronization strategies for Capacitor/Android applications.
install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/abelv22/project-foundation/offline-sync" ~/.claude/skills/neversight-learn-skills-dev-offline-sync && rm -rf "$T"
manifest:
data/skills-md/abelv22/project-foundation/offline-sync/SKILL.mdsource content
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
that matches the SupabaseOfflineLocation
structure.registros_reten
2. Synchronization Strategies
- Background Sync: Using
for reliable data upload when connectivity returns.WorkManager - 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).