What problem does it solve?
When your application fetches data through non-REST and non-GraphQL sources like Firebase, Supabase, WebSockets, or IndexedDB, you cannot use standard REST or GraphQL resource definitions. This Skill wraps those existing async functions with @data-client/endpoint so they work with Data Client hooks, caching, and normalization.
Core Features & Use Cases
- Async Function Wrapping: Converts existing Promise-returning functions into Endpoint instances with schema-based normalization and named keys.
- SDK Integration Patterns: Provides ready-made patterns for Firebase/Firestore, Supabase, IndexedDB, and WebSocket data fetching.
- Cache and Mutation Configuration: Configures sideEffect flags, dataExpiryLength, pollFrequency, optimistic updates, and custom key functions.
- Use Case: You have a Supabase-backed app with functions like fetchUser and fetchUsers. This Skill wraps them as Endpoints so you can call useSuspense(getUser, id) and ctrl.fetch(createUser, userData) with full caching and normalization.
Quick Start
Ask the AI to wrap your existing async data-fetching functions with @data-client/endpoint so they work with Data Client hooks.