cometchat について
CometChat の開発依頼を振り分けるスキルです。統合、アップグレード、移行、既存プロジェクトのタスクを分類し、適切なフレームワーク別スキルへ案内します。API は推測せず、ドキュメントで確認する方針です。
主な機能
- 01初回統合をオンボーディングへ振り分け
- 02アップグレードと移行を専用スキルへ案内
- 03フレームワーク別スキル系列の判定
- 04未掲載 API のドキュメント確認
- 05既存統合タスクと初回導入の切り分け
活用シーン
- 01新規プロジェクトへの CometChat 導入
- 02CometChat UI Kit のアップグレード
- 03Sendbird または Stream からの移行
- 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 ->「取得時の規律」。
次のことだけを行ってください
-
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」と依頼された場合は、オンボーディングを行います。オンボーディングでは計画にベンダー名を記載し、移行を提案します。 -
すでに統合済みで具体的な依頼がある場合は、タスクスキルに直行します。オンボーディングは実行しないでください。
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)。 -
初回の「CometChat を追加」(チャットを追加/通話を追加/CometChat を統合)依頼は、必ず最初に
cometchat-onboardingにルーティングします。 これは必須のゲートであり、省略できません。オンボーディングでは、フレームワークに依存しない DISCOVER → UNDERSTAND → PLAN の流れ(リポジトリ全体の検出、推奨デフォルトを含む意図確認の質問、完全な計画アーティファクト、変更/承認ゲート)を実行してから、フレームワークのコアに進みます。その後、対象を絞ったビルド指示をフレームワークのコアに引き渡します。初回の追加依頼を-coreスキルに直接ルーティングしないでください。オンボーディングがゲートとして機能します。(オンボーディングは統合済みのリポジトリでは短縮されます。再入のセクションを参照してください。) -
アップグレード依頼(「v6 を v7 にアップグレード」「v4 から v5」「Android の v5 から v6」)は調整作業であり、オンボーディングではありません。
cometchat-<family>-migrationに直接ルーティングします(これが調整作業です)。version_conflictによる STOP は追加依頼に引き続き適用されます。オンボーディングでは計画にこれを示し、引き渡し前に調整します。 -
<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など)。逆方向も同様に機能しません。検出されたフレームワークに該当する行がない場合は、このパックにそのプラットフォームが含まれていないことを伝え、最も近いものに置き換えないでください。 -
承認後、オンボーディングは
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 ユーザーにプラットフォームが未対応だと伝えてはいけません。 - コンポーネント →
-
ここでは統合コードを書かないでください。オンボーディングが計画し、family のスキルが実装します。 ルーティングデータ:
peers.yaml。ルール:RULES.md。このファイルは意図的に小さく保たれています。