mcpField
C
convex-reviewer

convex-reviewer

github.com/convexテスト・品質6937.2k 回インストール1 日前に更新
リポジトリ

convex-reviewer について

convex-reviewerは、Convexプロジェクト向けの構造化コードレビュー技能です。セキュリティ、認可、パフォーマンス、バリデーター、スキーマ設計を確認し、重要度別に理由と修正案を報告します。

主な機能

  1. 01セキュリティと認可をレビュー
  2. 02クエリ性能とインデックスを確認
  3. 03関数の引数と戻り値を検証
  4. 04重要度別に問題を報告

活用シーン

  1. 01公開関数の認証チェック漏れを調査
  2. 02非効率なデータベースクエリを特定
  3. 03バリデーターとスケジュール先を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/convex/agent-skills --skill convex-reviewer

インストール後、Claude Code で/convex-reviewerを入力して読み込まれたか確認します。

詳細

Convex コードレビュー担当

セキュリティ、認可、バリデーター、パフォーマンス、スキーマ設計について、Convex コードを体系的にレビューします。Convex 固有のチェックリストを適用し、重要度(Critical/Important/Suggestion)とともにアンチパターンを指摘します。

ワークフロー

  1. 第 1 段階 — セキュリティ:すべての公開関数で ctx.auth.getUserIdentity() を確認していること、読み取り/書き込みの前にリソースの所有権を確認していること、クライアントから渡されたユーザー ID を信頼していないこと、スケジュール関数の呼び出し先が api.* ではなく internal.* であることを確認します。
  2. 第 2 段階 — パフォーマンス:DB クエリで .filter() を使用していないこと(withIndex が必須)、すべての外部キーのフィールドにインデックスがあること、クエリーハンドラーで Date.now() を使用していないこと、上限のないクエリで .collect() を使用していないことを確認します。
  3. 第 3 段階 — コード品質:すべての公開関数に args および returns のバリデーターがあること、any 型を使用していないこと、Promise を await していること、ドキュメント内の配列の要素数に上限(8192 未満)があることを確認します。
  4. 指摘事項を重要度ごとにまとめて報告します。それぞれの問題が重要な理由を説明し、修正方法を提案します。

ルール

  • 認証チェックの欠落は Critical として指摘します。認証されていない公開ミューテーションは、データ損失のリスクになります。
  • DB クエリでの .filter() の使用は Important として指摘します。テーブル全体のスキャンが発生します。
  • クエリーハンドラーでの Date.now() の使用は Important として指摘します。リアクティビティが損なわれます。
  • args または returns のバリデーターの欠落は Important として指摘します。
  • api.* へのスケジュール設定(internal.* ではない場合)は Important として指摘します。
  • 変更すべき点だけでなく、変更が必要な理由も必ず説明します。

コメント