Agent Skills: Offline-First & Data Sync Specialist Skill

Expert in data persistence, local-first architectures, and synchronization strategies for Capacitor/Android applications.

UncategorizedID: abelv22/project-foundation/offline-sync

Install this agent skill to your local

pnpm dlx add-skill https://github.com/AbelV22/project-foundation/tree/HEAD/.agent/skills/offline-sync

Skill Files

Browse the full folder contents for offline-sync.

Download Skill

Loading file tree…

.agent/skills/offline-sync/SKILL.md

Skill Metadata

Name
offline-sync
Description
Expert in data persistence, local-first architectures, and synchronization strategies for Capacitor/Android applications.

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 OfflineLocation that matches the Supabase registros_reten structure.

2. Synchronization Strategies

  • Background Sync: Using WorkManager for 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).