● コミュニティ
waynesutton
⚡ 即起動
convexskills
作者 waynesutton · waynesutton/convexskills
関数、スキーマ、リアルタイム、cron、HTTPアクション、ファイルストレージ、エージェント、セキュリティ監査、マイグレーションをカバーするConvex専用スキル12種。
Convex上での開発に特化したスキルコレクションです。各SKILL.md(有効なAgent Skillフロントマター+コード例+ベストプラクティス)は、Claudeに正しいConvexパターンを教えます:query vs mutation vs action、リアクティブなリアルタイム、cronジョブ、HTTP Webhook、スキーマバリデーター、マイグレーション、セキュリティ監査。ClaudeがConvex APIを勝手に作り出すことがなくなります。
なぜ使うのか
主な機能
- 実際のコード例付きConvex専用スキル12種
- 関数(query/mutation/action/HTTP)、スキーマ、リアルタイム、cron、ファイルストレージ、エージェントをカバー
- セキュリティスキル2種:convex-security-checkとconvex-security-audit
- スキーマ進化のためのマイグレーションパターン
- 再利用可能なコンポーネント作成用のconvex-component-authoring
ライブデモ
実際の動作
convexskills-skill.replay
▶ 準備完了
ユースケース
実用的な使い方: convexskills
使うタイミング: ゼロから始める際に、最初のファイルから正しいConvexパターンを使いたい場合。
前提条件
- Convex CLI — npm create convex
フロー
-
スキーマを設計する
convex-schema-validatorスキルを使用してください。users、projects、filesテーブルを適切なインデックス付きで設計してください。✓ コピーしました
→ スキーマがv.id()を使用し、インデックスが宣言され、リレーションが正しいこと
-
queryとmutationを接続する
convex-functionsスキルを使用してください。projectsのCRUDを実装してください。✓ コピーしました
→ 読み取りにquery、書き込みにmutationを使用し、actionの誤用がないこと
-
リアルタイムとファイルアップロードを追加する
convex-realtimeとconvex-file-storageを使って、projectsをファイル添付付きでライブ更新できるようにしてください。✓ コピーしました
→ ReactがuseQueryで購読し、ファイルがstorage.generateUploadUrlで保存されること
結果: 拡張可能な正しい構造のConvexアプリが完成します。
注意点
- mutationで十分な箇所にactionを使ってしまう — スキルが強制するルール:DB書き込みにはmutation、外部I/Oにはaction
使うタイミング: ワーカーを別途立てずにスケジュールタスクが必要な場合。
フロー
-
cronスキルを使用する
convex-cron-jobsを使用してください。sessionsテーブルから30日以上前の行を削除する日次ジョブを追加してください。✓ コピーしました
→ crons.tsエントリ+クリーンアップ用のinternal mutation
-
テストする
テスト用に手動でトリガーする方法を教えてください。✓ コピーしました
→ 開発専用HTTPアクションまたはCLIレシピ
結果: Convexのマネージドスケジューラー上で動作するcronジョブが完成します。
注意点
- cronがinternal mutationではなくqueryを実行してしまう — スキルが削除処理にinternal mutationを強制します
使うタイミング: アプリは完成しているが、認証のストレステストをまだ行っていない場合。
フロー
-
監査を実行する
このリポジトリに対してconvex-security-auditを実行してください。すべてのpublic mutationが適切な認証を行っているか確認してください。✓ コピーしました
→ 関数ごとの認証状況と重大度
-
修正する
IDチェックを追加し、未認証の読み取りにはnullを返すフォールバックを適用してください。✓ コピーしました
→ 関数にctx.authチェックが追加されること
結果: 本番リリース前に認証が強化されます。
注意点
- 「public=未認証」というメンタルモデルに頼ってしまう — Convexのpublic関数はインターネットから到達可能です。スキルは認証チェックを必須とします
組み合わせ
他のMCPと組み合わせて10倍の力を
スキルが設計+実装し、GitHub MCPがPRを作成する
convexskillsで機能を構築してから、変更内容でPRを作成してください。✓ コピーしました
Convexバックエンドを構築し、PlaywrightでUIをエンドツーエンドテストする
Convexバックエンドを実装してから、UIにアクセスしてリアルタイム更新を検証するplaywright-skillテストを書いてください。✓ コピーしました
コストと制限
運用コスト
- APIクォータ
- スキル自体にはなし。Convex側に無料+有料プランがあります
- 呼び出しあたりのトークン
- スキルロードごとに2〜6kトークン
- 金額
- 無料 — スキルはローカルです。Convexには充実した無料枠があります。
- ヒント
- フルセットの読み込みを避けるため、特定のスキル名を指定してください(例:convex-cron-jobs)。
セキュリティ
権限、シークレット、影響範囲
認証情報の保管: スキル内にクレデンシャルはありません。Convexのデプロイキーは.envに保管されます。
データ送信先: スキル自体からのデータ送出はありません
- Convexのpublic関数はインターネットから到達可能です。本番リリース前に必ずconvex-security-auditを実行してください。
トラブルシューティング
よくあるエラーと対処法
Claudeがmutationで十分な箇所にactionを書いてしまう
スキルが強制する基本ルール:DBのみ → mutation、外部I/O → action。
スキーマ変更が既存データを壊してしまう
convex-migrationsスキルを使用してください。バックフィル付きの安全な移行を計画します。
useQueryがリアルタイムで更新されない
リアクティビティを確認してください。queryは古いインデックスではなく、変更されたデータを読み取る必要があります。
代替案
convexskills 他との比較
| 代替案 | 代わりに使う場面 | トレードオフ |
| Manual Convex docs + examples | すでにConvexの経験が豊富な場合 | スキルなしではオンボーディングが遅くなる |
| Framework-specific fullstack skills | Convexを使っていない場合 | 技術スタックが異なる |