powersync
PowerSync を使ったアプリ構築のガイド付きオンボーディングとベストプラクティスを提供します。クラウド・セルフホストのセットアップ、同期設定、クライアント SDK の使い方、バックエンド連携(Supabase、カスタム Postgres、MongoDB、MySQL、MSSQL)、デバッグまで対応。ユーザーが PowerSync、オフラインファースト同期、ローカルファーストアーキテクチャ、sync rules、uploadData、fetchCredentials、リアルタイムデータレプリケーションに言及したとき、またはモバイル・Web アプリにオフライン対応の同期機能を追加したい場合に自動的に活用されます。
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.
SKILL.md 本文
PowerSync Skills
このスキルを使用してPowerSyncプロジェクトをトライアル・アンド・エラーなしでオンボーディングしてください。これを第一に参考ガイドワークフロー、第二にリファレンスライブラリとして扱ってください。
エージェント: 進める前にAGENTS.mdを読んでください。 これには必須のコンプライアンスルールとオンボーディング手順が含まれています。以下のクイックルールはリマインダーであり、代替ではありません。 powersync login は PowerSync Cloudのみ(PAT); 自己ホスティングでは使用しません。
用語
- オペレーター — このエージェントを指示している人(あなたが要求を満たしている人)。
- ユーザー — オペレーターのPowerSyncアプリのエンドユーザー(JWTサブジェクト、同期ストリームがフィルタリングする行、
disconnectAndClear()を呼び出している人)。
文が曖昧な場合は、オペレーターの解釈をデフォルトにしてください。完全な凡例はAGENTS.mdにあります。
クイックルール
- CLIファースト。 すべての操作にPowerSync CLIを使用してください。設定ファイルを手書きしないでください。
references/powersync-cli.mdを参照してください。 - 推測せず、確認してください。 オペレーターに確認してください: CloudまたはSelf-hostedか、どのバックエンド(Supabase、Postgres、MongoDB、MySQL、MSSQL)か。Supabaseをデフォルトにしないでください。
- バックエンドを先に。 同期設定をデプロイしてサービスを検証してから、アプリコードを記述してください。
- 新しいプロジェクトには同期ストリーム。 同期ルールはレガシーです。
- 認証情報を即座に永続化してください。 すべてのURLとキーが利用可能になったら、すぐに
.envに書き込んでください。 - 既存プロジェクトのデフォルトスコープ: sync-configのみ。 オペレーターがこの会話でサービス/インフラストラクチャの変更を明示的に承認しない限り、
service.yamlまたはcli.yamlを編集しないでください。 - 変更を加えるコマンドの前に対象インスタンスを確認してください(
deploy、destroy、stop、link --create、pull instance)。オペレーターが承認していないインスタンスへのデプロイは決してしないでください。本番環境は明示的に承認されない限り制限外として扱ってください。 - プロジェクトメモリを使用してください。 ハーネスがサポートしている場合、CLIの呼び出し、同期設定パス、承認されたインスタンスID +環境(dev/staging/prod)、および許可された変更のスコープを永続化してください。これらに対して行動する前に、保存された値がまだ現実と一致しているか確認してください。
AGENTS.mdの§「継続的な使用とガードレール」を参照してください。
タスクに応じて読み込むもの
| タスク | 開始ファイル | 必要に応じて読み込む |
|---|---|---|
| Supabase + PowerSync | references/onboarding-supabase.md | references/supabase-auth.md、references/sync-config.md、SDKファイル |
| カスタムバックエンド(非Supabase) | references/onboarding-custom.md | references/custom-backend.md、references/sync-config.md、SDKファイル |
| 新規プロジェクトセットアップ | references/powersync-cli.md + references/powersync-service.md | references/sync-config.md、SDKファイル |
| Self-hosting / サービス設定 | references/powersync-service.md + references/powersync-cli.md | references/sync-config.md |
| 同期設定の記述 | references/sync-config.md | — |
| 同期の問題のデバッグ | references/powersync-debug.md | — |
| Raw Tables (高度な機能) | references/raw-tables.md | — |
| アタッチメント | references/attachments.md | — |
| アーキテクチャ概要 | references/powersync-overview.md | — |
SDK リファレンスファイル
JavaScript / TypeScript
JS/TSプロジェクトの場合は常にreferences/sdks/powersync-js.mdを読み込み、その後、該当するフレームワークファイルを読み込んでください。
| フレームワーク | ファイル | 以下の場合は早期に読み込む |
|---|---|---|
| React / Next.js | references/sdks/powersync-js-react.md | Vite + Reactプロジェクト — パッケージのインストール前に必要なvite.config.tsセットアップ(optimizeDeps.exclude、worker.format: 'es')が含まれています |
| 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 | プロジェクトがDrizzleまたはKyselyを使用している |
その他のSDK
| プラットフォーム | ファイル |
|---|---|
| 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 |
質問されなくても適用すべき主要ルール
- PowerSyncテーブルスキーマで
id列を定義しないでください。自動的に作成されます。 - ブール値には
column.integerを、ISO日付文字列にはcolumn.textを使用してください。 connect()はファイアアンドフォーゲットです。準備が整っている必要がある場合はwaitForFirstSync()を使用してください。transaction.complete()は必須です。そうしないとアップロードキューが永久に停止します。- ローカルデータをクリアする必要がある場合、ログアウト時またはユーザー切り替え時に
disconnectAndClear()が必須です。 uploadDataからの4xxレスポンスはアップロードキューを永久にブロックします。検証エラーには2xxを返してください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- powersync-ja
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/powersync-ja/agent-skills / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。