gesture-based-sync

Update API endpoints with atomic user gestures instead of full state blobs.

Updated Nov 5, 2025
One-click install
npx skills add https://github.com/imankha/video-editor --skill gesture-based-sync
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gesture-based-sync
Source: https://github.com/imankha/video-editor/tree/main/src/backend/.claude/skills/gesture-based-sync
Command: npx skills add https://github.com/imankha/video-editor --skill gesture-based-sync

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Data edits across distributed UI can lead to race conditions and data loss when multiple clients modify the same resource. Gesture-based-sync replaces full-state updates with atomic actions, enabling safer concurrency and easier reconciliation.

Core Features & Use Cases

  • Action-based updates: Send user gestures (actions) instead of entire state blobs, enabling precise change tracking.
  • Conflict detection & resolution: Backend computes the resulting state from actions and detects conflicts for safe merges.
  • Offline and undo/redo support: Actions can be queued and replayed, enabling offline work and reversible edits.

Quick Start

Start by wiring action-based endpoints (e.g., POST /clips/{clip_id}/actions) and define action types such as add_crop_keyframe, move_crop_keyframe, delete_crop_keyframe. Then on the client, queue actions for offline scenarios and replay them in order, while the server applies each action atomically and updates the version. Example: post a payload { "action": "add_crop_keyframe", "data": { "frame": 100, "x": 50, "y": 50 } } to the actions endpoint.

Frequently Asked Questions about gesture-based-sync

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prevent race conditions and data loss when multiple clients update the same API resource?

To prevent race conditions and data loss during concurrent API updates, replace full-state blobs with atomic user gestures. The backend computes resulting state from these actions and detects conflicts, ensuring safer merges across distributed clients.

How do I implement action-based API endpoints for offline support and undo/redo functionality?

Implementing action-based API endpoints for offline support requires wiring routes like POST /clips/{clip_id}/actions. You define specific action types, queue client actions for offline scenarios, and replay them in order while the server applies each atomically.

What is the difference between sending full state blobs and using gesture-based actions for API synchronization?

Sending full state blobs overwrites entire resources, causing data loss during concurrent edits. Using gesture-based actions sends precise user gestures instead, enabling atomic updates, precise change tracking, version checks, and reliable conflict detection.

Can I use optimistic UI with gesture-based API updates for annotation and framing workflows?

Yes, you can apply gesture-based API updates to Annotation, Framing, and Overlay workflows. By sending user gestures like add_crop_keyframe or move_crop_keyframe, the optimistic UI can queue actions and replay them while the server handles conflict resolution.

Does conflict resolution with action logs require complex server-side state management?

Conflict resolution with action logs requires server-side application of actions and version checks rather than complex state management. The server processes each action atomically, updates the version, and computes the resulting state to detect conflicts for safe merges.