electricsql

ElectricSQL real-time Postgres sync engine using Shapes for partial replication. Covers ShapeStream API, React hooks, where clause filtering, column selection, auth proxy patterns, and progressive write strategies from online-only to through-the-database. Use when setting up ElectricSQL, configuring Postgres sync, implementing shape-based data loading, building auth proxies for shapes, or choosing write patterns for local-first apps with Electric.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "electricsql" with this command: pnpm dlx skills add oakoss/agent-skills

ElectricSQL

Overview

ElectricSQL is a sync engine that streams partial replicas of Postgres data to local clients via Shapes. It handles the read path — syncing rows from Postgres to the client in real-time using logical replication. Writes flow back through your existing API; Electric syncs the confirmed state back to all connected clients.

When to use: Real-time sync from Postgres to client apps, local-first architectures needing live data from Postgres, replacing polling with streaming updates, apps using TanStack DB with Electric collections, multi-client collaborative apps backed by Postgres.

When NOT to use: Non-Postgres databases, apps needing client-to-server sync built into the engine (Electric handles reads only), simple REST CRUD with no real-time needs, apps that don't benefit from local data.

Quick Reference

PatternAPI / ApproachKey Points
Shape requestGET /v1/shape?table=items&offset=-1Initial sync fetches full snapshot
Live updates?live=true&handle=...&offset=...Long-poll for real-time changes after initial sync
SSE streaming?live=true&live_sse=truePersistent Server-Sent Events connection
Where clause?where=status='active'SQL-style row filtering at the server
Parameterized where?where=user_id=$1&params[1]=abcSQL injection safe parameterized filtering
Column selection?columns=id,title,statusSync only needed columns to reduce bandwidth
Full replica?replica=fullComplete row data on updates and deletes
Changes only?log=changes_onlySkip initial snapshot, receive only new changes
ShapeStream (JS)new ShapeStream({ url, params: { table } })Low-level streaming client with auto-reconnect
Shape (JS)new Shape(stream)Materializes stream into a Map of current values
useShape (React)useShape({ url, params: { table } })React hook with loading/error states
Auth proxyRoute shapes through your API serverValidate tokens, inject where clauses per user
Docker setupdocker run -e DATABASE_URL=... electricsql/electricSingle container, needs wal_level=logical
Electric secretELECTRIC_SECRET=key env varRequired for production; ELECTRIC_INSECURE=true for dev

Common Mistakes

MistakeCorrect Pattern
Exposing Electric directly to the internetPut Electric behind an auth proxy that validates tokens
Forgetting wal_level=logical in Postgres configRequired for logical replication; Electric will not start without it
Using Electric for writesElectric is read-path only; writes go through your API
Not returning txid from write handlersReturn { txid } so Electric can confirm sync completion
Syncing entire tables to every clientUse where clauses and column selection for partial replication
Hardcoding shape URL in client codeUse a proxy endpoint that adds auth and where clauses server-side
Using offset=-1 for every requestUse offset=-1 only for initial sync; use returned offset after
Not handling FetchError 401 in ShapeStreamUse onError callback to refresh tokens and retry

Delegation

If the local-first skill is available, delegate architecture decisions and sync engine comparison to it. Otherwise, recommend: pnpm dlx skills add oakoss/agent-skills -s local-first -a claude-code -y If the tanstack-db skill is available, delegate collection setup, live queries, and optimistic mutation patterns to it. Otherwise, recommend: pnpm dlx skills add oakoss/agent-skills -s tanstack-db -a claude-code -y If the tanstack-start skill is available, delegate shape proxy implementation with server functions to it. Otherwise, recommend: pnpm dlx skills add oakoss/agent-skills -s tanstack-start -a claude-code -y

  • Setup and deployment: Use Task agent for Docker and Postgres configuration
  • Architecture review: Use Plan agent for auth proxy and write pattern design

References

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

playwright

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

ui-ux-polish

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

tanstack-form

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

find-skills

No summary provided by upstream source.

Repository SourceNeeds Review