agentsclimarketplace

Powersync

Skill guillempuche/ai-standards/skills/powersync

Build local-first, offline-capable TypeScript apps with PowerSync. Use when implementing real-time sync between SQLite and backend databases (Postgres, MongoDB, MySQL, SQL Server). Covers schema definition, database setup, CRUD operations, React/Vue hooks, watch queries, and Kysely/Drizzle ORM integration.From its SKILL.md

Install
npx -y skills add guillempuche/ai-standards --skill powersync

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

7.9 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

PowerSync TypeScript Skill

Sync engine for local-first apps with real-time sync between client SQLite and backend databases.

When to Use

  • Offline-first/local-first applications
  • Real-time sync between client and server
  • Instant UI responsiveness with background sync

Installation

PlatformPackage
Web@powersync/web + @journeyapps/wa-sqlite
React Native@powersync/react-native + @powersync/op-sqlite
React hooks@powersync/react
Vue composables@powersync/vue
Node.js@powersync/node
Kysely ORM@powersync/kysely-driver
Drizzle ORM@powersync/drizzle-driver

Core Setup

  1. Schemadocs · example
  2. Databasedocs · example
  3. Connectordocs · example

API Quick Reference

OperationMethod
Get onedb.get(sql, params) / db.getOptional(sql, params)
Get alldb.getAll(sql, params)
Executedb.execute(sql, params)
Transactiondb.writeTransaction(async (tx) => { ... })
Watchdb.query({sql, parameters}).watch()
Diff watchdb.query({sql, parameters}).differentialWatch()

Full CRUD: docs

React Hooks

HookPurpose
useQueryQuery with loading/error states
useSuspenseQueryQuery with Suspense
useStatusConnection status
usePowerSyncDatabase instance

Docs: React · Vue

ORM Integration

ORMDocsExample
Kyselydocssource
Drizzledocssource
TanStack DBdocsdemo

Documentation

TopicURL
Overviewhttps://docs.powersync.com/intro/powersync-overview.md
Web SDKhttps://docs.powersync.com/client-sdk-references/javascript-web.md
React Native SDKhttps://docs.powersync.com/client-sdk-references/react-native-and-expo.md
Sync Ruleshttps://docs.powersync.com/usage/sync-rules.md
Watch Querieshttps://docs.powersync.com/usage/use-case-examples/watch-queries.md
API Referencehttps://powersync-ja.github.io/powersync-js/web-sdk

Local References

  • references/sync-rules.md - Sync Rules configuration
  • references/examples.md - All official example projects

GitHub Source

powersync-ja/powersync-js

PackageDescription
commonShared core (schema, sync, types)
webWeb SDK
react-nativeReact Native SDK
nodeNode.js SDK
capacitorCapacitor SDK
reactReact hooks
vueVue composables
tanstack-react-queryTanStack Query integration
kysely-driverKysely ORM driver
drizzle-driverDrizzle ORM driver
attachmentsFile attachments helper
powersync-op-sqliteOP-SQLite adapter
adapter-sql-jsSQL.js adapter (Expo Go)

What ships with it: 2 files

13.4 KB alongside SKILL.md

references/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.