How to install powersync
npx skills add https://github.com/powersync-ja/agent-skills --skill powersyncFull instructions (SKILL.md)
Source of truth, from powersync-ja/agent-skills.
name: powersync description: Guided onboarding and best practices for building applications with PowerSync — Cloud and self-hosted setup, sync configuration, client SDK usage, backend integration (Supabase, custom Postgres, MongoDB, MySQL, MSSQL), and debugging. Use this skill whenever the user mentions PowerSync, offline-first sync, local-first architecture, sync rules, sync streams, uploadData, fetchCredentials, real-time data replication, or wants to add offline-capable sync to a mobile or web app — even if they don't explicitly name PowerSync. license: MIT compatibility: Works with any skills-compatible agent. Some references include CLI commands requiring the @powersync/cli package. metadata: author: powersync version: "1.2.0" organization: PowerSync tags: powersync, offline-first, local-first, sync-streams, sqlite, replication, uploadData, fetchCredentials, service-config, sync-config, cloud, cli, debugging, supabase, postgres, mongodb, mysql
PowerSync Skills
Use this skill to onboard a project onto PowerSync without trial-and-error. Treat this as a guided workflow first and a reference library second.
Agents: Read AGENTS.md before proceeding. It contains the mandatory compliance rules and onboarding playbook. The Quick Rules below are a reminder, not a substitute. powersync login is PowerSync Cloud only (PAT); self-hosted does not use it.
Terminology
- Operator — the human directing this agent (whose request you are fulfilling).
- User — an end-user of the operator's PowerSync app (JWT subjects, the row a sync stream filters by, the person calling
disconnectAndClear()).
If a sentence is ambiguous, default to the operator interpretation. Full legend in AGENTS.md.
Quick Rules
- CLI-first. Use the PowerSync CLI for all operations. Do not hand-write config files. See
references/powersync-cli.md. - Ask, don't assume. Ask the operator: Cloud vs self-hosted, and which backend (Supabase, Postgres, MongoDB, MySQL, MSSQL). Do not default to Supabase.
- Backend before frontend. Deploy sync config and verify the service before writing app code.
- Sync Streams for new projects. Sync Rules are legacy.
- Persist credentials immediately. Write all URLs and keys to
.envas soon as they are available. - Default scope on existing projects: sync-config only. Do not edit
service.yamlorcli.yamlunless the operator explicitly authorized service/infra changes in this conversation. - Confirm the target instance before any mutating command (
deploy,destroy,stop,link --create,pull instance). Never deploy to an instance not authorized by the operator. Treat production as off-limits unless explicitly approved. - Use project memory. If your harness supports it, persist the CLI invocation, sync-config path, authorized instance ids + environment (dev/staging/prod), and allowed scope of changes. Verify saved values still match reality before acting on them. See
AGENTS.md§ "Continuous Use & Guardrails".
What to Load for Your Task
| Task | Start with | Load on demand |
|---|---|---|
| Supabase + PowerSync | references/onboarding-supabase.md | references/supabase-auth.md, references/sync-config.md, SDK files |
| Custom backend (non-Supabase) | references/onboarding-custom.md | references/custom-backend.md, references/sync-config.md, SDK files |
| New project setup | references/powersync-cli.md + references/powersync-service.md | references/sync-config.md, SDK files |
| Self-hosting / service config | references/powersync-service.md + references/powersync-cli.md | references/sync-config.md |
| Terraform / IaC provisioning | references/terraform.md | references/sync-config.md, references/supabase-auth.md (if Supabase source) |
| Writing sync config | references/sync-config.md | — |
| Debugging sync issues | references/powersync-debug.md | — |
| Raw Tables (advanced) | references/raw-tables.md | — |
| Attachments | references/attachments.md | — |
| Architecture overview | references/powersync-overview.md | — |
| SQLite extensions (vector search, FTS5, custom tokenizers) | references/sqlite-extensions.md | — |
SDK Reference Files
JavaScript / TypeScript
Always load references/sdks/powersync-js.md for any JS/TS project, then load the applicable framework file.
| Framework | File | Load early if… |
|---|---|---|
| React / Next.js | references/sdks/powersync-js-react.md | Vite + React project — contains the required vite.config.ts setup (optimizeDeps.exclude, worker.format: 'es') needed before installing packages |
| React Native / Expo | references/sdks/powersync-js-react-native.md | |
| Vue / Nuxt | references/sdks/powersync-js-vue.md | |
| Node.js / Electron | references/sdks/powersync-js-node.md | |
| TanStack | references/sdks/powersync-js-tanstack.md | |
| Drizzle / Kysely ORM | references/sdks/powersync-js-orm.md | Project uses Drizzle or Kysely |
Other SDKs
| Platform | File |
|----------|
| Dart / Flutter | references/sdks/powersync-dart.md |
| .NET | references/sdks/powersync-dotnet.md |
| Kotlin | references/sdks/powersync-kotlin.md |
| Swift | references/sdks/powersync-swift.md |
Key Rules to Apply Without Being Asked
- Never define the
idcolumn in a PowerSync table schema; it is created automatically. - Use
column.integerfor booleans andcolumn.textfor ISO date strings. connect()is fire-and-forget. UsewaitForFirstSync()if you need readiness.transaction.complete()is mandatory or the upload queue stalls permanently.disconnectAndClear()is required on logout or user switch when local data must be wiped.- A 4xx response from
uploadDatablocks the upload queue permanently; return 2xx for validation errors.
Related skills
More from powersync-ja/agent-skills and the wider catalog.

chrome-extension
Chrome Extensions (Manifest V3) performance and code quality guidelines. Use when writing, reviewing, or refactoring Chrome extension code including service workers, content scripts, message passing, storage APIs, TypeScript patterns, and testing.

clean-architecture
Clean Architecture principles and best practices for designing maintainable, testable software systems.

clean-code
Use when writing, reviewing, or refactoring code for maintainability and readability. Triggers on code reviews, naming discussions, function design, error handling, and test writing. Based on Robert C. Martin's Clean Code handbook with modern corrections.

code-simplifier
Code simplification skill for improving clarity, consistency, and maintainability while preserving exact behavior. Use when simplifying code, reducing complexity, cleaning up recent changes, applying refactoring patterns, or improving readability. Triggers on tasks involving code cleanup, simplification, refactoring, or readability improvements.

emilkowal-animations
Emil Kowalski's animation best practices for React, CSS, and Framer Motion.

expo-react-native-performance
Expo React Native performance optimization guidelines. This skill should be used when writing, reviewing, or refactoring Expo React Native code to ensure optimal performance patterns. Triggers on tasks involving React Native components, lists, animations, images, or performance improvements.