mcpField
C
cometchat

cometchat

github.com/cometchat開発157399 回インストール2 週間前に更新
リポジトリ

cometchat について

CometChat の開発依頼を振り分けるスキルです。統合、アップグレード、移行、既存プロジェクトのタスクを分類し、適切なフレームワーク別スキルへ案内します。API は推測せず、ドキュメントで確認する方針です。

主な機能

  1. 01初回統合をオンボーディングへ振り分け
  2. 02アップグレードと移行を専用スキルへ案内
  3. 03フレームワーク別スキル系列の判定
  4. 04未掲載 API のドキュメント確認
  5. 05既存統合タスクと初回導入の切り分け

活用シーン

  1. 01新規プロジェクトへの CometChat 導入
  2. 02CometChat UI Kit のアップグレード
  3. 03Sendbird または Stream からの移行
  4. 04既存 CometChat 統合のタスク対応

インストール

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

$npx skills add https://github.com/cometchat/cometchat-skills --skill cometchat

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

詳細

正しい情報源: ルーティングは peers.yaml(データ)が担い、共通ルールは RULES.md にあります。これは薄い分類器です。検出と振り分けのみを行います。ここにはワークフロー、認証情報のロジック、コンポーネントの詳細はありません。それらは cometchat-onboarding、解決されたファミリーのスキル、および RULES.md にあります。

使用する場面

ユーザーがプロジェクトへの CometChat の追加、既存プロジェクトのアップグレード、または Sendbird/Stream からの移行を希望している場合に使用します。トリガー:「チャットを追加」「CometChat を追加」「音声/ビデオ通話を追加」「v6 UI Kit を v7 にアップグレード」「iOS アプリにチャットを追加」「Swift でチャットを追加」「v4 iOS UI Kit を v5 にアップグレード」。

ここで見つからない場合 — 推測せず、取得する

上記の表の行に一致するかどうかにかかわらず、すべてのエージェントとすべてのインストールモードに適用されます。

  • 上記の表にない CometChat API が必要ですか? 解決されたファミリーの core スキルを開き、references/docs-map.md を確認して、ドキュメントのページをたどってください。ドキュメントの URL に .md を追加すると、対応するクリーンな Markdown 版を取得できます。
  • node_modules を grep してはいけません。*.d.ts を読んではいけません。 これらには、内部向けでサポートされておらず、バージョンによって変わるインターフェースが含まれています。公開 API ではないため、それをもとに書いたコードは次のキットリリースで壊れますし、手元のバージョンでも動かないことがよくあります。
  • 学習時の記憶をもとに回答してはいけません。 UI Kit の API はメジャーバージョン間で変更されます。
  • ドキュメントに本当に記載がない場合は、その旨を伝えて終了してください。 「ドキュメントには記載されていません」と正直に伝えるのが正しい回答です。もっともらしい API を捏造してはいけません。

全文:RULES.md ->「取得時の規律」。

次のことだけを行ってください

  1. Sendbird または Stream(GetStream)から移行する場合は、そのベンダーのスキルに直行します。オンボーディングは行いません。 トリガー:「migrate my app to CometChat」、「migrate / switch / move from Sendbird|Stream|GetStream|Twilio」、「replace Sendbird|Stream Chat with CometChat」。npx @cometchat/skills detect --json を実行します。各 migrate_from エントリーにはベンダーの skill(peers.yaml の migrations: でルーティングされる cometchat-migrate-from-{sendbird,getstream,twilio})が記載されています。ユーザーが名前を挙げたベンダーは、detect で検出されなくても対象とします。そのスキルは、1つのプロンプトで移行全体(検出 → 置き換え → CometChat にないものを削除 → 検証 → 削除した機能の最終一覧)を実行し、<family> のコア自体に引き継ぎます。「Migrate to CometChat」と依頼され、ベンダーが検出も指定もされていない場合は、Sendbird/Stream の使用が見つからなかったことを伝えてから、ルール 1/2 に進みます。データのみの移行(「migrate only my data from Sendbird|Stream」、「import my users/messages into CometChat」)の場合も、同じベンダースキルのデータのみモード(references/data-only.md)を使います。ベンダー名が指定されていれば十分です(コード検出は不要)。変更するのは scripts/cometchat-migration/ のみで、COMETCHAT_MIGRATION.md レポートを作成します。Twilio にはデータのみモードがありません。その旨を伝えて完全移行を提案し、データのみの依頼ではアプリコードを絶対に変更しないでください。migrate_from が設定されているリポジトリで単に「add chat」と依頼された場合は、オンボーディングを行います。オンボーディングでは計画にベンダー名を記載し、移行を提案します。

  2. すでに統合済みで具体的な依頼がある場合は、タスクスキルに直行します。オンボーディングは実行しないでください。 npx @cometchat/skills detect --json を実行します。これが判定の基準です。existing_cometchat: true は、CometChat UI Kit/SDK の依存関係(@cometchat/chat-uikit-*/chat-sdk-*/calls-sdk-*、com.cometchat:*、cometchat_*、CometChatUIKitSwift)が存在することを意味します。実行できない場合は、同じ依存関係があるかリポジトリを確認します。.cometchat/ フォルダーは証拠になりません。インストーラーとダッシュボード CLI が作成するためです。(ダッシュボード CLI の @cometchat/skills-cli には detect がありません。RULES.md →「CLI はダッシュボード/API クライアントのみ」を参照してください。)存在する場合、計画/承認の流れはすでに完了しています。依頼を統合ではなくタスクとして扱い、ルール 4 に従って <family> を解決し、ルール 5 の対応表から <type> を選び、そのスキルを直接開きます。これは稼働中アプリで最もよくあるケースです。「アバターを変更して」「ログアウトボタンを追加して」「投票機能を追加して」「吹き出しのスタイルを変えて」「カスタムビューが表示されない」などは、いずれもオンボーディングではありません。これをゲートに回すと、ユーザーがすでに回答した質問を再び尋ねることになります。このケースの分岐がないのはさらに問題です。エージェントがフローから外れて node_modules を見て推測することになるためです(AUDIT-106)。

  3. 初回の「CometChat を追加」(チャットを追加/通話を追加/CometChat を統合)依頼は、必ず最初に cometchat-onboarding にルーティングします。 これは必須のゲートであり、省略できません。オンボーディングでは、フレームワークに依存しない DISCOVER → UNDERSTAND → PLAN の流れ(リポジトリ全体の検出、推奨デフォルトを含む意図確認の質問、完全な計画アーティファクト、変更/承認ゲート)を実行してから、フレームワークのコアに進みます。その後、対象を絞ったビルド指示をフレームワークのコアに引き渡します。初回の追加依頼を -core スキルに直接ルーティングしないでください。オンボーディングがゲートとして機能します。(オンボーディングは統合済みのリポジトリでは短縮されます。再入のセクションを参照してください。)

  4. アップグレード依頼(「v6 を v7 にアップグレード」「v4 から v5」「Android の v5 から v6」)は調整作業であり、オンボーディングではありません。cometchat-<family>-migration に直接ルーティングします(これが調整作業です)。version_conflict による STOP は追加依頼に引き続き適用されます。オンボーディングでは計画にこれを示し、引き渡し前に調整します。

  5. <family> はプロジェクトから一度だけ解決し、決めつけないでください。 すべてのスキルファイルは cometchat-<family>-<type> という名前です。peers.yaml の該当行にある dir_prefix から <family> を取得します。detect プローブの framework を使い、それがなければ、読み取ったファイル(package.json/ロックファイル、angular.json、settings.gradle(.kts) と app/build.gradle(.kts)、pubspec.yaml、*.xcodeproj/*.xcworkspace/Package.swift)に対して detect_signals を確認します。React web → react-v7、Angular(angular.json で検出)→ angular-v5、React Native/Expo → react-native、Android(settings.gradle(.kts) で検出)→ android-v6(calls-sdk-android のみの場合/「calling from scratch」の依頼の場合は android-calls 行の cometchat-android-v5-calls-sdk)、Flutter(pubspec.yaml)→ flutter-v6、iOS → ios。プロジェクトを別の family のスキルにルーティングするのは不具合です。 React Native アプリを react-v7 スキルに送ると、ネイティブには存在しない Web 専用 API が提示されます(UIKitSettingsBuilder がない、login はオブジェクトを受け取る、コールバックは on*Click ではなく on*Press など)。逆方向も同様に機能しません。検出されたフレームワークに該当する行がない場合は、このパックにそのプラットフォームが含まれていないことを伝え、最も近いものに置き換えないでください。

  6. 承認後、オンボーディングは cometchat-<family>-core に引き継ぎます。 承認済みの計画で指定された追加の SHIPPED スキルのみを段階的開示で読み込みます。以下の <type> にルーティングし、必ず解決済みの <family> を使います。

    • コンポーネント → cometchat-<family>-components
    • 配置/レイアウト → cometchat-<family>-placement
    • テーマ設定/ブランディング/カスタムメッセージタイプ → cometchat-<family>-customization
    • 機能(検索、開封確認、リアクション、AI、モデレーションなど)→ cometchat-<family>-features
    • 音声/ビデオ通話 → cometchat-<family>-calls
    • プッシュ通知 → cometchat-<family>-push(薄いスキルで、ドキュメント優先です。通知ドキュメントを取得します。実機での配信確認は手動です)
    • 既存のメジャーバージョンをアップグレード → cometchat-<family>-migration
    • フレームワークとの接続部分(環境変数、SSR/アイランド、ルーティング、ネイティブのビルド設定)→ react-v7 の cometchat-<family>-patterns(Vite/Next/CRA/React Router/Astro)、angular-v5、flutter-v6。react-native では、cometchat-react-native-expo-patterns(Expo)/cometchat-react-native-bare-patterns(RN CLI/bare)の2種類から選びます。expo が依存関係に含まれているかで判断してください。iOS と Android には patterns スキルがありません。
    • 分析/メトリクス/可観測性/監視/ダッシュボード/イベントを Datadog・Segment・BigQuery に送信する場合 → cometchat-analytics。
    • 既存の統合の監査/レビュー/ヘルスチェック → cometchat-audit(読み取り専用。修正は担当スキルにルーティングします)。
    • アクセシビリティ/WCAG/スクリーンリーダー/キーボード → cometchat-a11y。ローカライズ/i18n/UI の翻訳/RTL → cometchat-i18n。(すべての family にインストールされる、family 共通のスキルです。)
    • エンタープライズセキュリティ/SSO/RBAC/セッションの取り消し/マルチテナント → cometchat-security(family 共通。サーバーとアクセス制御モデルが対象で、クライアントのログインは family の core/production スキルが担当します)。データレジデンシー/GDPR/保持期間/監査ログ/eDiscovery → cometchat-compliance。オンプレミス/セルフホスト/プライベートクラウド → cometchat-self-host。モデレーション/安全性/不適切な表現/画像モデレーション → cometchat-moderation。これら4つはオンボーディングと同様、すべての family にインストールされます。
    • 本番環境の強化/テスト/トラブルシューティング → すべての UI family(react-v7、angular-v5、react-native、ios、android-v6、flutter-v6)の cometchat-<family>-{production,testing,troubleshooting}。events → android-v6、flutter-v6。
    • react-native のみ — cometchat-react-native-sdk(メソッド→コントラクトのフォールバック対応表。Kit v5 では詳細/管理画面が削除されたため、RN では SDK 呼び出しが主要な手段であり、回避策ではありません)。
    • android-v6 のみ — コホート別スキル(gradle ファイルからコホートを選びます。kotlin-* = XML Views、compose-* = Jetpack Compose):cometchat-android-v6-{kotlin,compose}-{components,placement,customization}。また、builder-settings、extensions。ヘッドレス Chat SDK v5(独自 UI を構築)→ cometchat-android-v5-sdk。
    • ヘッドレス Calls SDK v5(ゼロから通話機能を構築する場合。UI Kit なし — ミート形式または1対1の呼び出し音。オンボーディングの通話優先ツリー経由)→ cometchat-js-v5-sdk(Web) · cometchat-react-native-v5-sdk · cometchat-ios-v5-sdk · cometchat-android-v5-calls-sdk · cometchat-flutter-v5-sdk。インストールされていない場合は、npx @cometchat/skills add --family <js|react-native|ios|android|flutter>-calls で UI Kit スキルと一緒に追加できます。ビルド済みの通話 UI には引き続き cometchat-<family>-calls を使います。
    • iOS は SPM で統合します。 CocoaPods は縮小段階にあり(spec リポジトリは読み取り専用になる予定です)、そのため Podfile は検出シグナルとしてのみ扱い、インストール手順として使わないでください。
    • このパックに含まれないため、ルーティングしないでください(「このパックには含まれていない」という方針を使います): ヘッドレス JS Chat SDK には独立したスキルがありません(そのメソッドは core 内で機能ごとのフォールバックとして使われます)。承認済みの計画に、該当する SHIPPED スキルが本当にない機能が必要な場合は、その旨を伝え、CometChat のドキュメントと仕様としての計画を案内し、提供済みの手段へ誘導してください。パックにないスキルには絶対にルーティングしないでください。

    core がまだないフレームワーク(現時点では Vue)の場合も、オンボーディングは計画を提示し、そのプラットフォームの core が未構築であることを伝えます。Angular は構築済みです。 @angular/core/angular.json が peers.yaml の angular 行に一致する場合は、その行の dir_prefix と core、および同じ family の残りのスキル(v5 kit、5.1.0 に対してカタログで検証済み)にルーティングします。Angular ユーザーにプラットフォームが未対応だと伝えてはいけません。

  7. ここでは統合コードを書かないでください。オンボーディングが計画し、family のスキルが実装します。 ルーティングデータ:peers.yaml。ルール:RULES.md。このファイルは意図的に小さく保たれています。

コメント