@cometchat/skills 4.4.1 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (489) hide show
  1. package/.claude-plugin/marketplace.json +55 -0
  2. package/.claude-plugin/plugin.json +14 -0
  3. package/CHANGELOG.md +36 -0
  4. package/README.md +41 -163
  5. package/RULES.md +114 -0
  6. package/bin/cometchat-skills.mjs +1180 -0
  7. package/bin/legacy-skills.json +95 -0
  8. package/catalogs/android-v6.json +1646 -0
  9. package/catalogs/flutter-v6.json +651 -0
  10. package/catalogs/ios-v5.json +1383 -0
  11. package/catalogs/rn-calls-v5.json +134 -0
  12. package/catalogs/rn-calls-v5.symbols.txt +58 -0
  13. package/catalogs/rn-sdk-v4.json +672 -0
  14. package/catalogs/rn-v5.json +449 -0
  15. package/catalogs/rn-v5.symbols.txt +216 -0
  16. package/catalogs/sdk-android-v5.json +514 -0
  17. package/contracts.android-calls-v5.json +122 -0
  18. package/contracts.android-v6.json +135 -0
  19. package/contracts.angular-v5.json +694 -0
  20. package/contracts.flutter-calls-v5.json +77 -0
  21. package/contracts.flutter-v6.json +126 -0
  22. package/contracts.ios-calls-v5.json +67 -0
  23. package/contracts.ios-v5.json +436 -0
  24. package/contracts.json +82 -0
  25. package/contracts.rn-calls-v5.json +77 -0
  26. package/contracts.rn-v5.json +727 -0
  27. package/contracts.sdk-android-v5.json +15 -0
  28. package/contracts.web-calls-v5.json +45 -0
  29. package/features.android-calls-v5.json +246 -0
  30. package/features.android-v6.json +65 -0
  31. package/features.angular-v5.json +521 -0
  32. package/features.flutter-calls-v5.json +286 -0
  33. package/features.flutter-v6.json +484 -0
  34. package/features.ios-calls-v5.json +236 -0
  35. package/features.ios-v5.json +573 -0
  36. package/features.json +61 -0
  37. package/features.rn-calls-v5.json +187 -0
  38. package/features.rn-v5.json +614 -0
  39. package/features.sdk-android-v5.json +40 -0
  40. package/features.sdk-jsv4.json +24 -0
  41. package/features.web-calls-v5.json +108 -0
  42. package/package.json +151 -74
  43. package/peers.yaml +312 -0
  44. package/registry/README.md +31 -0
  45. package/registry/android-calls-v5.json +54 -0
  46. package/registry/android-v6.json +137 -0
  47. package/registry/angular-v5.json +114 -0
  48. package/registry/flutter-calls-v5.json +54 -0
  49. package/registry/flutter-v6.json +119 -0
  50. package/registry/ios-calls-v5.json +59 -0
  51. package/registry/ios-v5.json +97 -0
  52. package/registry/rn-calls-v5.json +59 -0
  53. package/registry/rn-v5.json +129 -0
  54. package/registry/sdk-android-v5.json +53 -0
  55. package/registry/sdk-jsv4.json +53 -0
  56. package/registry/web-calls-v5.json +54 -0
  57. package/registry/web-v7.json +99 -0
  58. package/skills/cometchat/SKILL.md +42 -2096
  59. package/skills/cometchat-android-v5-calls-sdk/SKILL.md +206 -0
  60. package/skills/cometchat-android-v5-calls-sdk/references/build-truth.md +63 -0
  61. package/skills/cometchat-android-v5-calls-sdk/references/docs-map.md +119 -0
  62. package/skills/cometchat-android-v5-calls-sdk/references/method-map.md +53 -0
  63. package/skills/cometchat-android-v5-calls-sdk/references/pitfalls.md +72 -0
  64. package/skills/cometchat-android-v5-calls-sdk/references/ringing.md +92 -0
  65. package/skills/cometchat-android-v5-calls-sdk/references/user-switch.md +90 -0
  66. package/skills/cometchat-android-v5-sdk/SKILL.md +127 -0
  67. package/skills/cometchat-android-v5-sdk/references/app-surface.md +88 -0
  68. package/skills/cometchat-android-v5-sdk/references/docs-map.md +91 -0
  69. package/skills/cometchat-android-v6-builder-settings/SKILL.md +51 -137
  70. package/skills/cometchat-android-v6-calls/SKILL.md +128 -411
  71. package/skills/cometchat-android-v6-compose-components/SKILL.md +84 -194
  72. package/skills/cometchat-android-v6-compose-customization/SKILL.md +66 -411
  73. package/skills/cometchat-android-v6-compose-placement/SKILL.md +154 -237
  74. package/skills/cometchat-android-v6-core/SKILL.md +236 -672
  75. package/skills/cometchat-android-v6-core/references/anti-patterns.md +31 -0
  76. package/skills/cometchat-android-v6-core/references/component-props.md +168 -0
  77. package/skills/cometchat-android-v6-core/references/docs-map.md +153 -0
  78. package/skills/cometchat-android-v6-core/references/layout.md +112 -0
  79. package/skills/cometchat-android-v6-core/references/lifecycle.md +75 -0
  80. package/skills/cometchat-android-v6-core/references/setup-credentials.md +105 -0
  81. package/skills/cometchat-android-v6-core/references/troubleshooting.md +36 -0
  82. package/skills/cometchat-android-v6-events/SKILL.md +46 -184
  83. package/skills/cometchat-android-v6-extensions/SKILL.md +39 -179
  84. package/skills/cometchat-android-v6-features/SKILL.md +74 -143
  85. package/skills/cometchat-android-v6-kotlin-components/SKILL.md +75 -193
  86. package/skills/cometchat-android-v6-kotlin-customization/SKILL.md +67 -419
  87. package/skills/cometchat-android-v6-kotlin-placement/SKILL.md +77 -223
  88. package/skills/cometchat-android-v6-migration/SKILL.md +67 -378
  89. package/skills/cometchat-android-v6-production/SKILL.md +40 -179
  90. package/skills/cometchat-android-v6-push/SKILL.md +39 -289
  91. package/skills/cometchat-android-v6-testing/SKILL.md +50 -265
  92. package/skills/cometchat-android-v6-troubleshooting/SKILL.md +70 -254
  93. package/skills/cometchat-angular-v5-calls/SKILL.md +193 -0
  94. package/skills/cometchat-angular-v5-components/SKILL.md +131 -0
  95. package/skills/cometchat-angular-v5-components/references/catalog.md +111 -0
  96. package/skills/cometchat-angular-v5-components/references/host-composed.md +46 -0
  97. package/skills/cometchat-angular-v5-core/SKILL.md +300 -0
  98. package/skills/cometchat-angular-v5-core/references/anti-patterns.md +49 -0
  99. package/skills/cometchat-angular-v5-core/references/component-props.md +55 -0
  100. package/skills/cometchat-angular-v5-core/references/dependencies.md +66 -0
  101. package/skills/cometchat-angular-v5-core/references/docs-map.md +132 -0
  102. package/skills/cometchat-angular-v5-core/references/layout.md +64 -0
  103. package/skills/cometchat-angular-v5-core/references/lifecycle.md +202 -0
  104. package/skills/cometchat-angular-v5-core/references/setup-credentials.md +137 -0
  105. package/skills/cometchat-angular-v5-core/references/theming.md +70 -0
  106. package/skills/cometchat-angular-v5-core/references/troubleshooting.md +27 -0
  107. package/skills/cometchat-angular-v5-customization/SKILL.md +94 -0
  108. package/skills/cometchat-angular-v5-features/SKILL.md +107 -0
  109. package/skills/cometchat-angular-v5-features/references/custom-messages.md +133 -0
  110. package/skills/cometchat-angular-v5-features/references/formatters.md +28 -0
  111. package/skills/cometchat-angular-v5-features/references/host-composed-extensions.md +85 -0
  112. package/skills/cometchat-angular-v5-migration/SKILL.md +40 -0
  113. package/skills/cometchat-angular-v5-migration/references/migration-guide.md +165 -0
  114. package/skills/cometchat-angular-v5-patterns/SKILL.md +107 -0
  115. package/skills/cometchat-angular-v5-placement/SKILL.md +133 -0
  116. package/skills/cometchat-angular-v5-placement/references/combined-app.md +174 -0
  117. package/skills/cometchat-angular-v5-placement/references/core-surface.md +199 -0
  118. package/skills/cometchat-angular-v5-production/SKILL.md +101 -0
  119. package/skills/cometchat-angular-v5-push/SKILL.md +61 -0
  120. package/skills/cometchat-angular-v5-testing/SKILL.md +112 -0
  121. package/skills/cometchat-angular-v5-troubleshooting/SKILL.md +96 -0
  122. package/skills/cometchat-flutter-v5-sdk/SKILL.md +188 -0
  123. package/skills/cometchat-flutter-v5-sdk/references/doc-corrections.md +55 -0
  124. package/skills/cometchat-flutter-v5-sdk/references/docs-map.md +211 -0
  125. package/skills/cometchat-flutter-v5-sdk/references/platform-notes.md +48 -0
  126. package/skills/cometchat-flutter-v5-sdk/references/transcription.md +87 -0
  127. package/skills/cometchat-flutter-v6-calls/SKILL.md +75 -387
  128. package/skills/cometchat-flutter-v6-components/SKILL.md +88 -361
  129. package/skills/cometchat-flutter-v6-core/SKILL.md +154 -593
  130. package/skills/cometchat-flutter-v6-core/references/anti-patterns.md +55 -0
  131. package/skills/cometchat-flutter-v6-core/references/docs-map.md +143 -0
  132. package/skills/cometchat-flutter-v6-core/references/layout.md +45 -0
  133. package/skills/cometchat-flutter-v6-core/references/lifecycle.md +87 -0
  134. package/skills/cometchat-flutter-v6-core/references/setup-credentials.md +84 -0
  135. package/skills/cometchat-flutter-v6-core/references/troubleshooting.md +26 -0
  136. package/skills/cometchat-flutter-v6-customization/SKILL.md +70 -712
  137. package/skills/cometchat-flutter-v6-events/SKILL.md +79 -174
  138. package/skills/cometchat-flutter-v6-features/SKILL.md +55 -394
  139. package/skills/cometchat-flutter-v6-migration/SKILL.md +68 -367
  140. package/skills/cometchat-flutter-v6-migration/references/migration-guide.md +131 -0
  141. package/skills/cometchat-flutter-v6-patterns/SKILL.md +61 -0
  142. package/skills/cometchat-flutter-v6-placement/SKILL.md +94 -381
  143. package/skills/cometchat-flutter-v6-production/SKILL.md +58 -615
  144. package/skills/cometchat-flutter-v6-push/SKILL.md +46 -455
  145. package/skills/cometchat-flutter-v6-testing/SKILL.md +68 -299
  146. package/skills/cometchat-flutter-v6-troubleshooting/SKILL.md +54 -878
  147. package/skills/cometchat-ios-calls/SKILL.md +105 -511
  148. package/skills/cometchat-ios-components/SKILL.md +44 -834
  149. package/skills/cometchat-ios-core/SKILL.md +181 -1068
  150. package/skills/cometchat-ios-core/references/anti-patterns.md +80 -0
  151. package/skills/cometchat-ios-core/references/docs-map.md +123 -0
  152. package/skills/cometchat-ios-core/references/install.md +23 -0
  153. package/skills/cometchat-ios-core/references/layout.md +186 -0
  154. package/skills/cometchat-ios-core/references/setup-credentials.md +197 -0
  155. package/skills/cometchat-ios-core/references/swiftui.md +91 -0
  156. package/skills/cometchat-ios-core/references/troubleshooting.md +100 -0
  157. package/skills/cometchat-ios-customization/SKILL.md +33 -968
  158. package/skills/cometchat-ios-features/SKILL.md +29 -738
  159. package/skills/cometchat-ios-migration/SKILL.md +39 -0
  160. package/skills/cometchat-ios-placement/SKILL.md +51 -729
  161. package/skills/cometchat-ios-push/SKILL.md +24 -602
  162. package/skills/cometchat-ios-v5-sdk/SKILL.md +161 -0
  163. package/skills/cometchat-ios-v5-sdk/references/docs-map.md +326 -0
  164. package/skills/cometchat-js-v5-sdk/SKILL.md +95 -0
  165. package/skills/cometchat-js-v5-sdk/references/docs-map.md +114 -0
  166. package/skills/cometchat-onboarding/SKILL.md +89 -0
  167. package/skills/cometchat-onboarding/references/archetypes.md +51 -0
  168. package/skills/cometchat-onboarding/references/calling-first.md +77 -0
  169. package/skills/cometchat-onboarding/references/not-in-this-pack.md +8 -0
  170. package/skills/cometchat-onboarding/references/plan-artifact.md +133 -0
  171. package/skills/cometchat-onboarding/references/platforms.md +90 -0
  172. package/skills/cometchat-react-native-bare-patterns/SKILL.md +120 -0
  173. package/skills/cometchat-react-native-calls/SKILL.md +200 -0
  174. package/skills/cometchat-react-native-components/SKILL.md +142 -0
  175. package/skills/cometchat-react-native-core/SKILL.md +313 -0
  176. package/skills/cometchat-react-native-core/references/anti-patterns.md +79 -0
  177. package/skills/cometchat-react-native-core/references/component-props.md +105 -0
  178. package/skills/cometchat-react-native-core/references/dependencies.md +62 -0
  179. package/skills/cometchat-react-native-core/references/docs-map.md +126 -0
  180. package/skills/cometchat-react-native-core/references/layout.md +61 -0
  181. package/skills/cometchat-react-native-core/references/lifecycle.md +64 -0
  182. package/skills/cometchat-react-native-core/references/setup-credentials.md +39 -0
  183. package/skills/cometchat-react-native-customization/SKILL.md +198 -0
  184. package/skills/cometchat-react-native-expo-patterns/SKILL.md +116 -0
  185. package/skills/cometchat-react-native-features/SKILL.md +122 -0
  186. package/skills/cometchat-react-native-migration/SKILL.md +103 -0
  187. package/skills/cometchat-react-native-placement/SKILL.md +158 -0
  188. package/skills/cometchat-react-native-production/SKILL.md +78 -0
  189. package/skills/cometchat-react-native-push/SKILL.md +88 -0
  190. package/skills/cometchat-react-native-sdk/SKILL.md +126 -0
  191. package/skills/cometchat-react-native-sdk/references/method-map.md +239 -0
  192. package/skills/cometchat-react-native-sdk/references/page-map.md +96 -0
  193. package/skills/cometchat-react-native-testing/SKILL.md +94 -0
  194. package/skills/cometchat-react-native-troubleshooting/SKILL.md +116 -0
  195. package/skills/cometchat-react-native-v5-sdk/SKILL.md +150 -0
  196. package/skills/cometchat-react-native-v5-sdk/references/docs-map.md +127 -0
  197. package/skills/cometchat-react-native-v5-sdk/references/ringing-voip.md +369 -0
  198. package/skills/cometchat-react-v7-calls/SKILL.md +75 -0
  199. package/skills/cometchat-react-v7-components/SKILL.md +72 -0
  200. package/skills/cometchat-react-v7-core/SKILL.md +101 -0
  201. package/skills/cometchat-react-v7-core/references/anti-patterns.md +19 -0
  202. package/skills/cometchat-react-v7-core/references/component-props.md +82 -0
  203. package/skills/cometchat-react-v7-core/references/dependencies.md +23 -0
  204. package/skills/cometchat-react-v7-core/references/docs-map.md +117 -0
  205. package/skills/cometchat-react-v7-core/references/i18n-rtl-a11y.md +22 -0
  206. package/skills/cometchat-react-v7-core/references/layout.md +158 -0
  207. package/skills/cometchat-react-v7-core/references/lifecycle.md +74 -0
  208. package/skills/cometchat-react-v7-core/references/setup-credentials.md +58 -0
  209. package/skills/cometchat-react-v7-core/references/ssr.md +11 -0
  210. package/skills/cometchat-react-v7-core/references/theming.md +52 -0
  211. package/skills/cometchat-react-v7-core/references/troubleshooting.md +28 -0
  212. package/skills/cometchat-react-v7-customization/SKILL.md +84 -0
  213. package/skills/cometchat-react-v7-features/SKILL.md +92 -0
  214. package/skills/cometchat-react-v7-migration/SKILL.md +39 -0
  215. package/skills/cometchat-react-v7-migration/references/migration-guide.md +119 -0
  216. package/skills/cometchat-react-v7-patterns/SKILL.md +43 -0
  217. package/skills/cometchat-react-v7-placement/SKILL.md +106 -0
  218. package/skills/cometchat-react-v7-placement/references/recipes.md +354 -0
  219. package/skills/cometchat-react-v7-push/SKILL.md +53 -0
  220. package/test-suite/README.md +70 -0
  221. package/test-suite/catalogs/android-calls-v5.json +830 -0
  222. package/test-suite/catalogs/android-calls-v5.symbols.txt +499 -0
  223. package/test-suite/catalogs/android-v6.json +1646 -0
  224. package/test-suite/catalogs/android-v6.symbols.txt +298 -0
  225. package/test-suite/catalogs/angular-v5.json +7587 -0
  226. package/test-suite/catalogs/flutter-calls-v5.json +196 -0
  227. package/test-suite/catalogs/flutter-calls-v5.symbols.txt +59 -0
  228. package/test-suite/catalogs/flutter-v6.json +651 -0
  229. package/test-suite/catalogs/ios-calls-v5.json +158 -0
  230. package/test-suite/catalogs/ios-calls-v5.symbols.txt +70 -0
  231. package/test-suite/catalogs/ios-v5.json +1383 -0
  232. package/test-suite/catalogs/ios-v5.symbols.txt +699 -0
  233. package/test-suite/catalogs/rn-calls-v5.json +134 -0
  234. package/test-suite/catalogs/rn-sdk-v4.json +672 -0
  235. package/test-suite/catalogs/rn-v5.json +449 -0
  236. package/test-suite/catalogs/sdk-android-v5.json +514 -0
  237. package/test-suite/catalogs/sdk-android-v5.symbols.txt +254 -0
  238. package/test-suite/catalogs/sdk-jsv4.json +800 -0
  239. package/test-suite/catalogs/web-calls-v5.json +195 -0
  240. package/test-suite/catalogs/web-v7.json +1243 -0
  241. package/test-suite/scripts/build-registry.mjs +113 -0
  242. package/test-suite/scripts/catalog-refresh-dart.mjs +151 -0
  243. package/test-suite/scripts/catalog-refresh.mjs +100 -0
  244. package/test-suite/scripts/lint-skills.mjs +909 -0
  245. package/test-suite/scripts/measure-tokens.mjs +169 -0
  246. package/test-suite/scripts/typecheck-fences-dart.mjs +437 -0
  247. package/test-suite/scripts/typecheck-fences-kotlin.mjs +269 -0
  248. package/test-suite/scripts/typecheck-fences.mjs +206 -0
  249. package/test-suite/scripts/verify-catalog.mjs +242 -0
  250. package/test-suite/scripts/verify-contract-fences.mjs +94 -0
  251. package/test-suite/scripts/verify-detection.mjs +178 -0
  252. package/test-suite/scripts/verify-docs-base.mjs +91 -0
  253. package/test-suite/scripts/verify-family-agnostic.mjs +130 -0
  254. package/test-suite/scripts/verify-golden-path.mjs +138 -0
  255. package/test-suite/scripts/verify-oracle-components.mjs +133 -0
  256. package/test-suite/scripts/verify-template-bindings.mjs +148 -0
  257. package/test-suite/typecheck/angular-v5/package.json +21 -0
  258. package/test-suite/typecheck/angular-v5/tsconfig.json +21 -0
  259. package/test-suite/typecheck/flutter-v6/analysis_options.yaml +25 -0
  260. package/test-suite/typecheck/flutter-v6/pubspec.yaml +21 -0
  261. package/test-suite/typecheck/web-v7/package.json +18 -0
  262. package/test-suite/typecheck/web-v7/tsconfig.json +19 -0
  263. package/bin/install.js +0 -1003
  264. package/skills/.claude-plugin/marketplace.json +0 -86
  265. package/skills/cometchat/references/asking-questions.md +0 -48
  266. package/skills/cometchat-a11y/SKILL.md +0 -477
  267. package/skills/cometchat-android-v5/SKILL.md +0 -121
  268. package/skills/cometchat-android-v5-calls/SKILL.md +0 -427
  269. package/skills/cometchat-android-v5-calls/references/README.md +0 -53
  270. package/skills/cometchat-android-v5-calls/references/add-calls-to-existing-chat.md +0 -197
  271. package/skills/cometchat-android-v5-calls/references/audio-controls.md +0 -91
  272. package/skills/cometchat-android-v5-calls/references/background-handling.md +0 -168
  273. package/skills/cometchat-android-v5-calls/references/call-layouts.md +0 -131
  274. package/skills/cometchat-android-v5-calls/references/call-logs.md +0 -113
  275. package/skills/cometchat-android-v5-calls/references/call-session.md +0 -274
  276. package/skills/cometchat-android-v5-calls/references/custom-ui.md +0 -150
  277. package/skills/cometchat-android-v5-calls/references/event-listeners.md +0 -123
  278. package/skills/cometchat-android-v5-calls/references/group-calls.md +0 -205
  279. package/skills/cometchat-android-v5-calls/references/idle-timeout.md +0 -117
  280. package/skills/cometchat-android-v5-calls/references/in-call-chat.md +0 -134
  281. package/skills/cometchat-android-v5-calls/references/join-session.md +0 -120
  282. package/skills/cometchat-android-v5-calls/references/migration-v4-to-v5.md +0 -222
  283. package/skills/cometchat-android-v5-calls/references/participant-management.md +0 -110
  284. package/skills/cometchat-android-v5-calls/references/picture-in-picture.md +0 -106
  285. package/skills/cometchat-android-v5-calls/references/raise-hand.md +0 -248
  286. package/skills/cometchat-android-v5-calls/references/recording.md +0 -101
  287. package/skills/cometchat-android-v5-calls/references/ringing-integration.md +0 -152
  288. package/skills/cometchat-android-v5-calls/references/screen-sharing.md +0 -78
  289. package/skills/cometchat-android-v5-calls/references/server-fcm-voip.md +0 -215
  290. package/skills/cometchat-android-v5-calls/references/session-settings.md +0 -121
  291. package/skills/cometchat-android-v5-calls/references/setup.md +0 -137
  292. package/skills/cometchat-android-v5-calls/references/share-invite.md +0 -156
  293. package/skills/cometchat-android-v5-calls/references/video-controls.md +0 -87
  294. package/skills/cometchat-android-v5-calls/references/voip-calling.md +0 -526
  295. package/skills/cometchat-android-v5-components/SKILL.md +0 -431
  296. package/skills/cometchat-android-v5-core/SKILL.md +0 -486
  297. package/skills/cometchat-android-v5-customization/SKILL.md +0 -469
  298. package/skills/cometchat-android-v5-extensions/SKILL.md +0 -127
  299. package/skills/cometchat-android-v5-features/SKILL.md +0 -131
  300. package/skills/cometchat-android-v5-placement/SKILL.md +0 -277
  301. package/skills/cometchat-android-v5-production/SKILL.md +0 -95
  302. package/skills/cometchat-android-v5-push/SKILL.md +0 -619
  303. package/skills/cometchat-android-v5-testing/SKILL.md +0 -188
  304. package/skills/cometchat-android-v5-theming/SKILL.md +0 -167
  305. package/skills/cometchat-android-v5-troubleshooting/SKILL.md +0 -74
  306. package/skills/cometchat-android-v6/SKILL.md +0 -108
  307. package/skills/cometchat-android-v6-calls/references/add-calls-to-existing-chat.md +0 -97
  308. package/skills/cometchat-android-v6-calls/references/advanced-features.md +0 -87
  309. package/skills/cometchat-android-v6-calls/references/call-layouts.md +0 -100
  310. package/skills/cometchat-android-v6-calls/references/call-session.md +0 -163
  311. package/skills/cometchat-android-v6-calls/references/device-management.md +0 -172
  312. package/skills/cometchat-android-v6-calls/references/group-calls.md +0 -191
  313. package/skills/cometchat-android-v6-calls/references/idle-timeout.md +0 -110
  314. package/skills/cometchat-android-v6-calls/references/in-call-chat.md +0 -141
  315. package/skills/cometchat-android-v6-calls/references/raise-hand.md +0 -188
  316. package/skills/cometchat-android-v6-calls/references/ringing-integration.md +0 -176
  317. package/skills/cometchat-android-v6-calls/references/server-fcm-voip.md +0 -127
  318. package/skills/cometchat-android-v6-calls/references/share-invite.md +0 -105
  319. package/skills/cometchat-android-v6-compose-theming/SKILL.md +0 -250
  320. package/skills/cometchat-android-v6-kotlin-theming/SKILL.md +0 -233
  321. package/skills/cometchat-angular-calls/SKILL.md +0 -378
  322. package/skills/cometchat-angular-calls/references/add-calls-to-existing-chat.md +0 -96
  323. package/skills/cometchat-angular-calls/references/call-layouts.md +0 -123
  324. package/skills/cometchat-angular-calls/references/call-session.md +0 -167
  325. package/skills/cometchat-angular-calls/references/custom-ui.md +0 -239
  326. package/skills/cometchat-angular-calls/references/device-management.md +0 -154
  327. package/skills/cometchat-angular-calls/references/group-calls.md +0 -433
  328. package/skills/cometchat-angular-calls/references/idle-timeout.md +0 -161
  329. package/skills/cometchat-angular-calls/references/in-call-chat.md +0 -148
  330. package/skills/cometchat-angular-calls/references/lazy-loading-pitfalls.md +0 -205
  331. package/skills/cometchat-angular-calls/references/migration-v4-to-v5.md +0 -53
  332. package/skills/cometchat-angular-calls/references/ngzone-and-async-callbacks.md +0 -184
  333. package/skills/cometchat-angular-calls/references/picture-in-picture.md +0 -285
  334. package/skills/cometchat-angular-calls/references/raise-hand.md +0 -172
  335. package/skills/cometchat-angular-calls/references/recording-screen-share.md +0 -260
  336. package/skills/cometchat-angular-calls/references/ringing-integration.md +0 -133
  337. package/skills/cometchat-angular-calls/references/server-web-push-vapid.md +0 -100
  338. package/skills/cometchat-angular-calls/references/share-invite.md +0 -122
  339. package/skills/cometchat-angular-calls/references/virtual-background.md +0 -29
  340. package/skills/cometchat-angular-components/SKILL.md +0 -235
  341. package/skills/cometchat-angular-core/SKILL.md +0 -386
  342. package/skills/cometchat-angular-customization/SKILL.md +0 -616
  343. package/skills/cometchat-angular-features/SKILL.md +0 -329
  344. package/skills/cometchat-angular-patterns/SKILL.md +0 -256
  345. package/skills/cometchat-angular-placement/SKILL.md +0 -314
  346. package/skills/cometchat-angular-production/SKILL.md +0 -564
  347. package/skills/cometchat-angular-push/SKILL.md +0 -389
  348. package/skills/cometchat-angular-testing/SKILL.md +0 -605
  349. package/skills/cometchat-angular-theming/SKILL.md +0 -290
  350. package/skills/cometchat-angular-troubleshooting/SKILL.md +0 -364
  351. package/skills/cometchat-astro-patterns/SKILL.md +0 -708
  352. package/skills/cometchat-calls/SKILL.md +0 -364
  353. package/skills/cometchat-calls/references/use-case-broadcast.md +0 -199
  354. package/skills/cometchat-calls/references/use-case-marketplace.md +0 -157
  355. package/skills/cometchat-calls/references/use-case-support.md +0 -189
  356. package/skills/cometchat-calls/references/use-case-team.md +0 -180
  357. package/skills/cometchat-calls/references/use-case-telehealth.md +0 -153
  358. package/skills/cometchat-components/SKILL.md +0 -1142
  359. package/skills/cometchat-core/SKILL.md +0 -1048
  360. package/skills/cometchat-customization/SKILL.md +0 -580
  361. package/skills/cometchat-customization/references/component-catalog.md +0 -236
  362. package/skills/cometchat-features/SKILL.md +0 -861
  363. package/skills/cometchat-flutter-v5/SKILL.md +0 -173
  364. package/skills/cometchat-flutter-v5-calls/SKILL.md +0 -453
  365. package/skills/cometchat-flutter-v5-calls/references/add-calls-to-existing-chat.md +0 -193
  366. package/skills/cometchat-flutter-v5-calls/references/call-layouts.md +0 -103
  367. package/skills/cometchat-flutter-v5-calls/references/call-session.md +0 -285
  368. package/skills/cometchat-flutter-v5-calls/references/device-management.md +0 -124
  369. package/skills/cometchat-flutter-v5-calls/references/group-calls.md +0 -181
  370. package/skills/cometchat-flutter-v5-calls/references/idle-timeout.md +0 -99
  371. package/skills/cometchat-flutter-v5-calls/references/in-call-chat.md +0 -135
  372. package/skills/cometchat-flutter-v5-calls/references/migration-v4-to-v5.md +0 -210
  373. package/skills/cometchat-flutter-v5-calls/references/raise-hand.md +0 -255
  374. package/skills/cometchat-flutter-v5-calls/references/ringing-integration.md +0 -196
  375. package/skills/cometchat-flutter-v5-calls/references/server-push-bridge.md +0 -101
  376. package/skills/cometchat-flutter-v5-calls/references/share-invite.md +0 -148
  377. package/skills/cometchat-flutter-v5-conversations/SKILL.md +0 -118
  378. package/skills/cometchat-flutter-v5-core/SKILL.md +0 -239
  379. package/skills/cometchat-flutter-v5-customization/SKILL.md +0 -358
  380. package/skills/cometchat-flutter-v5-events/SKILL.md +0 -156
  381. package/skills/cometchat-flutter-v5-messages/SKILL.md +0 -259
  382. package/skills/cometchat-flutter-v5-production/SKILL.md +0 -216
  383. package/skills/cometchat-flutter-v5-push/SKILL.md +0 -285
  384. package/skills/cometchat-flutter-v5-testing/SKILL.md +0 -401
  385. package/skills/cometchat-flutter-v5-theming/SKILL.md +0 -161
  386. package/skills/cometchat-flutter-v5-troubleshooting/SKILL.md +0 -130
  387. package/skills/cometchat-flutter-v5-users-groups/SKILL.md +0 -152
  388. package/skills/cometchat-flutter-v6/SKILL.md +0 -446
  389. package/skills/cometchat-flutter-v6-calls/references/add-calls-to-existing-chat.md +0 -136
  390. package/skills/cometchat-flutter-v6-calls/references/advanced-features.md +0 -89
  391. package/skills/cometchat-flutter-v6-calls/references/call-layouts.md +0 -105
  392. package/skills/cometchat-flutter-v6-calls/references/call-session.md +0 -229
  393. package/skills/cometchat-flutter-v6-calls/references/device-management.md +0 -105
  394. package/skills/cometchat-flutter-v6-calls/references/group-calls.md +0 -190
  395. package/skills/cometchat-flutter-v6-calls/references/idle-timeout.md +0 -88
  396. package/skills/cometchat-flutter-v6-calls/references/in-call-chat.md +0 -125
  397. package/skills/cometchat-flutter-v6-calls/references/raise-hand.md +0 -275
  398. package/skills/cometchat-flutter-v6-calls/references/ringing-integration.md +0 -171
  399. package/skills/cometchat-flutter-v6-calls/references/server-push-bridge.md +0 -93
  400. package/skills/cometchat-flutter-v6-calls/references/share-invite.md +0 -102
  401. package/skills/cometchat-flutter-v6-conversations/SKILL.md +0 -238
  402. package/skills/cometchat-flutter-v6-messages/SKILL.md +0 -384
  403. package/skills/cometchat-flutter-v6-theming/SKILL.md +0 -293
  404. package/skills/cometchat-flutter-v6-users-groups/SKILL.md +0 -224
  405. package/skills/cometchat-i18n/SKILL.md +0 -419
  406. package/skills/cometchat-ios/SKILL.md +0 -325
  407. package/skills/cometchat-ios-calls/references/add-calls-to-existing-chat.md +0 -174
  408. package/skills/cometchat-ios-calls/references/audio-modes-and-controls.md +0 -45
  409. package/skills/cometchat-ios-calls/references/avaudiosession-routing.md +0 -188
  410. package/skills/cometchat-ios-calls/references/call-layouts.md +0 -76
  411. package/skills/cometchat-ios-calls/references/call-session.md +0 -218
  412. package/skills/cometchat-ios-calls/references/callkit-and-pushkit.md +0 -357
  413. package/skills/cometchat-ios-calls/references/custom-ui.md +0 -322
  414. package/skills/cometchat-ios-calls/references/device-management.md +0 -171
  415. package/skills/cometchat-ios-calls/references/group-calls.md +0 -359
  416. package/skills/cometchat-ios-calls/references/idle-timeout.md +0 -184
  417. package/skills/cometchat-ios-calls/references/in-call-chat.md +0 -179
  418. package/skills/cometchat-ios-calls/references/migration-v4-to-v5.md +0 -196
  419. package/skills/cometchat-ios-calls/references/picture-in-picture.md +0 -246
  420. package/skills/cometchat-ios-calls/references/raise-hand.md +0 -26
  421. package/skills/cometchat-ios-calls/references/recording-screen-share.md +0 -252
  422. package/skills/cometchat-ios-calls/references/ringing-integration.md +0 -143
  423. package/skills/cometchat-ios-calls/references/server-apns-pushkit.md +0 -267
  424. package/skills/cometchat-ios-calls/references/share-invite.md +0 -148
  425. package/skills/cometchat-ios-calls/references/swiftui-uikit-hosting.md +0 -246
  426. package/skills/cometchat-ios-calls/references/voip-cert-setup.md +0 -166
  427. package/skills/cometchat-ios-production/SKILL.md +0 -738
  428. package/skills/cometchat-ios-testing/SKILL.md +0 -376
  429. package/skills/cometchat-ios-theming/SKILL.md +0 -667
  430. package/skills/cometchat-ios-troubleshooting/SKILL.md +0 -1003
  431. package/skills/cometchat-native-bare-patterns/SKILL.md +0 -550
  432. package/skills/cometchat-native-calls/SKILL.md +0 -669
  433. package/skills/cometchat-native-calls/references/add-calls-to-existing-chat.md +0 -203
  434. package/skills/cometchat-native-calls/references/call-layouts.md +0 -125
  435. package/skills/cometchat-native-calls/references/call-session.md +0 -182
  436. package/skills/cometchat-native-calls/references/custom-ui.md +0 -254
  437. package/skills/cometchat-native-calls/references/device-management.md +0 -158
  438. package/skills/cometchat-native-calls/references/expo-vs-bare.md +0 -179
  439. package/skills/cometchat-native-calls/references/group-calls.md +0 -296
  440. package/skills/cometchat-native-calls/references/idle-timeout.md +0 -128
  441. package/skills/cometchat-native-calls/references/in-call-chat.md +0 -145
  442. package/skills/cometchat-native-calls/references/migration-v4-to-v5.md +0 -72
  443. package/skills/cometchat-native-calls/references/picture-in-picture.md +0 -276
  444. package/skills/cometchat-native-calls/references/raise-hand.md +0 -205
  445. package/skills/cometchat-native-calls/references/recording-screen-share.md +0 -169
  446. package/skills/cometchat-native-calls/references/ringing-integration.md +0 -118
  447. package/skills/cometchat-native-calls/references/server-push-bridge.md +0 -135
  448. package/skills/cometchat-native-calls/references/server-push-payloads.md +0 -193
  449. package/skills/cometchat-native-calls/references/share-invite.md +0 -146
  450. package/skills/cometchat-native-calls/references/voip-push-end-to-end.md +0 -319
  451. package/skills/cometchat-native-components/SKILL.md +0 -628
  452. package/skills/cometchat-native-core/SKILL.md +0 -679
  453. package/skills/cometchat-native-customization/SKILL.md +0 -716
  454. package/skills/cometchat-native-expo-patterns/SKILL.md +0 -552
  455. package/skills/cometchat-native-features/SKILL.md +0 -638
  456. package/skills/cometchat-native-placement/SKILL.md +0 -509
  457. package/skills/cometchat-native-production/SKILL.md +0 -700
  458. package/skills/cometchat-native-push/SKILL.md +0 -594
  459. package/skills/cometchat-native-testing/SKILL.md +0 -582
  460. package/skills/cometchat-native-theming/SKILL.md +0 -681
  461. package/skills/cometchat-native-troubleshooting/SKILL.md +0 -501
  462. package/skills/cometchat-nextjs-patterns/SKILL.md +0 -899
  463. package/skills/cometchat-placement/SKILL.md +0 -1360
  464. package/skills/cometchat-production/SKILL.md +0 -1027
  465. package/skills/cometchat-react-calls/SKILL.md +0 -749
  466. package/skills/cometchat-react-calls/references/add-calls-to-existing-chat.md +0 -146
  467. package/skills/cometchat-react-calls/references/call-layouts.md +0 -160
  468. package/skills/cometchat-react-calls/references/call-session.md +0 -235
  469. package/skills/cometchat-react-calls/references/custom-ui.md +0 -247
  470. package/skills/cometchat-react-calls/references/device-management.md +0 -210
  471. package/skills/cometchat-react-calls/references/group-calls.md +0 -257
  472. package/skills/cometchat-react-calls/references/idle-timeout.md +0 -188
  473. package/skills/cometchat-react-calls/references/in-call-chat.md +0 -212
  474. package/skills/cometchat-react-calls/references/migration-v4-to-v5.md +0 -170
  475. package/skills/cometchat-react-calls/references/picture-in-picture.md +0 -245
  476. package/skills/cometchat-react-calls/references/raise-hand.md +0 -238
  477. package/skills/cometchat-react-calls/references/recording-screen-share.md +0 -144
  478. package/skills/cometchat-react-calls/references/ringing-integration.md +0 -255
  479. package/skills/cometchat-react-calls/references/server-web-push-vapid.md +0 -241
  480. package/skills/cometchat-react-calls/references/share-invite.md +0 -175
  481. package/skills/cometchat-react-calls/references/testing-calls-on-web.md +0 -216
  482. package/skills/cometchat-react-calls/references/virtual-background.md +0 -32
  483. package/skills/cometchat-react-calls/references/voip-and-web-push.md +0 -165
  484. package/skills/cometchat-react-patterns/SKILL.md +0 -628
  485. package/skills/cometchat-react-push/SKILL.md +0 -634
  486. package/skills/cometchat-react-router-patterns/SKILL.md +0 -758
  487. package/skills/cometchat-react-testing/SKILL.md +0 -413
  488. package/skills/cometchat-theming/SKILL.md +0 -498
  489. package/skills/cometchat-troubleshooting/SKILL.md +0 -294
@@ -1,131 +0,0 @@
1
- ---
2
- name: cometchat-android-v5-features
3
- description: "Add features (calls, reactions, polls, file sharing, AI, etc.) to an already-integrated CometChat project. Routes to the right sub-flow based on feature type."
4
- license: "MIT"
5
- compatibility: "Android 7.0+; Java 8+; Kotlin 1.8+; com.cometchat:chat-uikit-android:5.x"
6
- metadata:
7
- author: "CometChat"
8
- version: "3.0.0"
9
- tags: "cometchat android features extensions calls reactions polls ai-features"
10
- ---
11
-
12
- > **Ground truth:** `com.cometchat:chat-uikit-android:5.x` (legacy/maintenance-only; +`calls-sdk-android:5.x`) — resolved AAR (javap) + `ui-kit/android`. **Official docs:** https://www.cometchat.com/docs/fundamentals/extensions-overview · **Docs MCP:** `claude mcp add --transport http cometchat-docs https://www.cometchat.com/docs/mcp` (or fetch the URL directly without MCP). Verify symbols against the installed package/source before relying on them.
13
-
14
- > **Companion skills:** `cometchat-android-v5-core` covers initialization;
15
- > `cometchat-android-v5-customization` covers deeper component customization;
16
- > `cometchat-android-v5-extensions` covers the extension architecture.
17
-
18
- ## Purpose
19
-
20
- This skill teaches how CometChat features are structured and what work is required to enable each one. Most features require zero code — they are either already built into the UI Kit, toggled via the `cometchat apply-feature` CLI (extensions + AI features), or activated by adding a dependency (calls).
21
-
22
- ---
23
-
24
- ## Use this skill when
25
-
26
- - "Add reactions to my chat"
27
- - "Add video calling"
28
- - "Enable polls"
29
- - "Add file sharing"
30
- - "Enable smart replies"
31
-
32
- ## Do not use this skill when
33
-
34
- - Customizing how a feature looks → use `cometchat-android-v5-customization`
35
- - Setting up the initial integration → use `cometchat-android-v5-core`
36
-
37
- ---
38
-
39
- ## 1. Feature types
40
-
41
- | Type | What it means | Action required |
42
- |---|---|---|
43
- | Type 1 — Default | Built into the UI Kit at compile time | None — already there |
44
- | Type 2a — Extension | Backend extension, pure boolean toggle | `cometchat apply-feature <id> --app-id <X>` (CLI hits dashboard API) |
45
- | Type 2b — AI feature | Backend AI feature requiring an OpenAI key | `cometchat apply-feature <id> --app-id <X> --openai-key sk-...` |
46
- | Type 2c — Dashboard-only | Third-party API key / multi-field config (Giphy, Stipop, Tenor, Chatwoot, Intercom) | Open https://app.cometchat.com → Chat & Messaging → Features → configure |
47
- | Type 3 — Package-install | Requires a separate SDK dependency | Add Gradle dependency |
48
- | Type 4 — Component-toggle | Hide/show via `setHide*` / `disable*` methods on the relevant component | Call the setter on the component instance (see catalog) |
49
-
50
- ---
51
-
52
- ## 2. Type 1 — Default features (already enabled)
53
-
54
- | Feature | Component | Notes |
55
- |---|---|---|
56
- | Text messaging | `CometChatMessageComposer` + `CometChatMessageList` | Core feature |
57
- | Media sharing (image/video/audio/file) | `CometChatMessageComposer` | Attachment button |
58
- | Read receipts | `CometChatMessageList` | `setReceiptsVisibility()` |
59
- | Typing indicators | `CometChatMessageList` + `CometChatConversations` | Auto-enabled |
60
- | User presence (online/offline) | `CometChatConversations`, `CometChatUsers` | Requires `subscribePresenceForAllUsers()` in init |
61
- | Reactions | `CometChatMessageList` | Long-press message → react |
62
- | Mentions (@user, @all) | `CometChatMessageComposer` | Type `@` to trigger |
63
- | Threaded conversations | `CometChatMessageList` | `setReplyInThreadOptionVisibility()` |
64
- | Quoted replies | `CometChatMessageList` | Swipe to reply |
65
- | Edit/delete messages | `CometChatMessageList` | Long-press options |
66
- | Group chat | All components | Use `setGroup()` instead of `setUser()` |
67
- | Report message | `CometChatMessageList` | Long-press → Report |
68
- | Search | `CometChatSearch` | Standalone component |
69
-
70
- ---
71
-
72
- ## 3. Type 2 — Backend toggle features (no code needed)
73
-
74
- Android projects don't run `cometchat apply`, so call the CLI in stateless mode with `--app-id`:
75
-
76
- ```bash
77
- # Pure boolean extensions:
78
- cometchat apply-feature polls --app-id <your-app-id>
79
- cometchat apply-feature stickers --app-id <your-app-id>
80
-
81
- # AI features (require OpenAI key):
82
- cometchat apply-feature smart-replies --app-id <your-app-id> --openai-key sk-...
83
- cometchat apply-feature conversation-summary --app-id <your-app-id>
84
- cometchat apply-feature conversation-starter --app-id <your-app-id>
85
- ```
86
-
87
- Requires `cometchat auth login` once per machine.
88
-
89
- **Extensions (CLI-toggleable — pure boolean):**
90
- - User Engagement: Polls, Message Translation, Reminders
91
- - Collaboration: Collaborative Document, Collaborative Whiteboard
92
- - Security: Disappearing Messages, E2E Encryption (Enterprise)
93
- - Moderation: Profanity Filter, Image Moderation, Data Masking, Sentiment Analysis, XSS Filter
94
-
95
- **AI Features (CLI-toggleable — needs `--openai-key`):**
96
- Conversation Starter, Conversation Summary, Smart Reply
97
-
98
- **Dashboard-only (third-party config — open https://app.cometchat.com → Chat & Messaging → Features):**
99
- Stickers (Stipop), Giphy, Tenor, Chatwoot, Intercom — these require API keys / webhooks the user must enter manually.
100
-
101
- ---
102
-
103
- ## 4. Type 3 — Package-install features
104
-
105
- ### Voice/Video Calling
106
-
107
- Add the calling SDK:
108
-
109
- ```groovy
110
- implementation 'com.cometchat:calls-sdk-android:5.+'
111
- ```
112
-
113
- The UI Kit auto-detects the calling SDK and enables call buttons in `CometChatMessageHeader`. No additional code needed — `CometChatIncomingCall`, `CometChatOutgoingCall`, and `CometChatOngoingCall` activate automatically.
114
-
115
- Configure call buttons visibility:
116
-
117
- ```java
118
- CometChatMessageHeader header = findViewById(R.id.header);
119
- header.setVoiceCallButtonVisibility(View.VISIBLE);
120
- header.setVideoCallButtonVisibility(View.VISIBLE);
121
- ```
122
-
123
- ---
124
-
125
- ## Hard rules
126
-
127
- - **Don't write code for Type 1 features.** They're already there. Tell the user where to find them.
128
- - **Don't write code for Type 2a/2b features.** Run `cometchat apply-feature <id> --app-id <X>` (extension) or `... --openai-key sk-...` (ai-feature). The CLI flips the dashboard toggle via API. Never tell the user to "open the dashboard and toggle X" for an extension or ai-feature — that's what the CLI does.
129
- - **For Type 2c (dashboard-only) features**, the CLI cannot automate (third-party keys / multi-field config). Walk the user through the dashboard path returned by `cometchat apply-feature <id>`'s `manual-action-required` response.
130
- - **For Type 3 (calls), just add the Gradle dependency.** The UI Kit handles the rest.
131
- - **Always run `cometchat apply-feature <id>` first** for extensions and AI features. If the user reports a "missing feature," it's almost always an unflipped toggle the CLI can fix in one call.
@@ -1,277 +0,0 @@
1
- ---
2
- name: cometchat-android-v5-placement
3
- description: "Where to put CometChat in your Android app — Activity, Fragment, BottomSheet, Dialog, Tab, or embedded patterns."
4
- license: "MIT"
5
- compatibility: "Android 7.0+; Java 8+; Kotlin 1.8+; com.cometchat:chat-uikit-android:5.x"
6
- metadata:
7
- author: "CometChat"
8
- version: "3.0.0"
9
- tags: "chat cometchat android placement activity fragment bottomsheet dialog tabs integration"
10
- ---
11
-
12
- > **Ground truth:** `com.cometchat:chat-uikit-android:5.x` (legacy/maintenance-only) views + `docs/ui-kit/android`. **Official docs:** https://www.cometchat.com/docs/ui-kit/android/overview · **Docs MCP:** `claude mcp add --transport http cometchat-docs https://www.cometchat.com/docs/mcp` (or fetch the URL directly without MCP). Verify symbols against the installed package/source before relying on them.
13
-
14
- > **Companion skills:** `cometchat-android-v5-core` covers init and login;
15
- > `cometchat-android-v5-components` provides the component catalog.
16
-
17
- ## Purpose
18
-
19
- This skill teaches WHERE to put CometChat in an existing Android project. It covers six placement patterns: dedicated Activity, Fragment, BottomSheet, Dialog, Tab/ViewPager, and embedded view. Each pattern includes step-by-step instructions and code examples in both Java and Kotlin.
20
-
21
- ---
22
-
23
- ## Use this skill when
24
-
25
- - Integrating CometChat into an existing Android app
26
- - Deciding between Activity vs Fragment vs BottomSheet
27
- - "Where should I put the chat screen?"
28
- - "How do I add chat as a tab?"
29
- - "How do I show chat in a bottom sheet?"
30
-
31
- ## Do not use this skill when
32
-
33
- - Setting up init/login → use `cometchat-android-v5-core`
34
- - Looking up component APIs → use `cometchat-android-v5-components`
35
- - Customizing appearance → use `cometchat-android-v5-theming`
36
-
37
- ---
38
-
39
- ## 1. Placement recommendation
40
-
41
- | User intent | Recommended placement | Why |
42
- |---|---|---|
43
- | Messaging app | Dedicated Activity with bottom tabs | Full-screen chat experience |
44
- | Marketplace | Chat button → new Activity | Separate context from product browsing |
45
- | SaaS / dashboard | Fragment in existing Activity | Chat alongside other features |
46
- | Social / community | ViewPager + BottomNav tabs | Multi-section messenger |
47
- | Support / helpdesk | BottomSheet overlay | Non-intrusive, dismissible |
48
- | Quick reply | Dialog | Lightweight, modal |
49
- | Embedded widget | View in existing layout | Inline chat within a screen |
50
-
51
- ---
52
-
53
- ## 2. Pattern A — Dedicated Activity
54
-
55
- The simplest and most common pattern. A full-screen Activity for the message view.
56
-
57
- **MessagesActivity layout (`activity_messages.xml`):**
58
- ```xml
59
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
60
- android:layout_width="match_parent"
61
- android:layout_height="match_parent"
62
- android:orientation="vertical">
63
-
64
- <com.cometchat.chatuikit.messageheader.CometChatMessageHeader
65
- android:id="@+id/header"
66
- android:layout_width="match_parent"
67
- android:layout_height="wrap_content" />
68
-
69
- <com.cometchat.chatuikit.messagelist.CometChatMessageList
70
- android:id="@+id/messageList"
71
- android:layout_width="match_parent"
72
- android:layout_height="0dp"
73
- android:layout_weight="1" />
74
-
75
- <com.cometchat.chatuikit.messagecomposer.CometChatMessageComposer
76
- android:id="@+id/composer"
77
- android:layout_width="match_parent"
78
- android:layout_height="wrap_content" />
79
- </LinearLayout>
80
- ```
81
-
82
- **Java:**
83
- ```java
84
- public class MessagesActivity extends AppCompatActivity {
85
- @Override
86
- protected void onCreate(Bundle savedInstanceState) {
87
- super.onCreate(savedInstanceState);
88
- setContentView(R.layout.activity_messages);
89
-
90
- CometChatMessageHeader header = findViewById(R.id.header);
91
- CometChatMessageList messageList = findViewById(R.id.messageList);
92
- CometChatMessageComposer composer = findViewById(R.id.composer);
93
-
94
- String uid = getIntent().getStringExtra("uid");
95
- String guid = getIntent().getStringExtra("guid");
96
-
97
- if (uid != null) {
98
- CometChat.getUser(uid, new CometChat.CallbackListener<User>() {
99
- @Override
100
- public void onSuccess(User user) {
101
- header.setUser(user);
102
- messageList.setUser(user);
103
- composer.setUser(user);
104
- }
105
- @Override
106
- public void onError(CometChatException e) { }
107
- });
108
- } else if (guid != null) {
109
- CometChat.getGroup(guid, new CometChat.CallbackListener<Group>() {
110
- @Override
111
- public void onSuccess(Group group) {
112
- header.setGroup(group);
113
- messageList.setGroup(group);
114
- composer.setGroup(group);
115
- }
116
- @Override
117
- public void onError(CometChatException e) { }
118
- });
119
- }
120
-
121
- header.setBackIconVisibility(View.VISIBLE);
122
- header.setOnBackPress(() -> finish());
123
- }
124
- }
125
- ```
126
-
127
- **Kotlin:**
128
- ```kotlin
129
- class MessagesActivity : AppCompatActivity() {
130
- override fun onCreate(savedInstanceState: Bundle?) {
131
- super.onCreate(savedInstanceState)
132
- setContentView(R.layout.activity_messages)
133
-
134
- val header = findViewById<CometChatMessageHeader>(R.id.header)
135
- val messageList = findViewById<CometChatMessageList>(R.id.messageList)
136
- val composer = findViewById<CometChatMessageComposer>(R.id.composer)
137
-
138
- val uid = intent.getStringExtra("uid")
139
- val guid = intent.getStringExtra("guid")
140
-
141
- when {
142
- uid != null -> CometChat.getUser(uid, object : CometChat.CallbackListener<User>() {
143
- override fun onSuccess(user: User) {
144
- header.setUser(user)
145
- messageList.setUser(user)
146
- composer.setUser(user)
147
- }
148
- override fun onError(e: CometChatException) { }
149
- })
150
- guid != null -> CometChat.getGroup(guid, object : CometChat.CallbackListener<Group>() {
151
- override fun onSuccess(group: Group) {
152
- header.setGroup(group)
153
- messageList.setGroup(group)
154
- composer.setGroup(group)
155
- }
156
- override fun onError(e: CometChatException) { }
157
- })
158
- }
159
-
160
- header.setBackIconVisibility(View.VISIBLE)
161
- header.setOnBackPress { finish() }
162
- }
163
- }
164
- ```
165
-
166
- ---
167
-
168
- ## 3. Pattern B — Fragment
169
-
170
- Embed chat in a Fragment within an existing Activity. Useful for SaaS apps or multi-pane layouts.
171
-
172
- **Java:**
173
- ```java
174
- public class ChatFragment extends Fragment {
175
- @Override
176
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
177
- View view = inflater.inflate(R.layout.fragment_chat, container, false);
178
-
179
- CometChatConversations conversations = view.findViewById(R.id.conversations);
180
- conversations.setOnItemClick((v, position, conversation) -> {
181
- // Navigate to messages — either replace fragment or start Activity
182
- });
183
-
184
- return view;
185
- }
186
- }
187
- ```
188
-
189
- **Kotlin:**
190
- ```kotlin
191
- class ChatFragment : Fragment() {
192
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
193
- val view = inflater.inflate(R.layout.fragment_chat, container, false)
194
-
195
- val conversations = view.findViewById<CometChatConversations>(R.id.conversations)
196
- conversations.setOnItemClick { v, position, conversation ->
197
- // Navigate to messages — either replace fragment or start Activity
198
- }
199
-
200
- return view
201
- }
202
- }
203
- ```
204
-
205
- ---
206
-
207
- ## 4. Pattern C — BottomSheet
208
-
209
- Show chat as a bottom sheet overlay. Good for support/helpdesk.
210
-
211
- **Java:**
212
- ```java
213
- BottomSheetDialog bottomSheet = new BottomSheetDialog(this);
214
- View view = getLayoutInflater().inflate(R.layout.bottom_sheet_chat, null);
215
-
216
- CometChatMessageList messageList = view.findViewById(R.id.messageList);
217
- CometChatMessageComposer composer = view.findViewById(R.id.composer);
218
-
219
- messageList.setUser(user);
220
- composer.setUser(user);
221
-
222
- bottomSheet.setContentView(view);
223
- bottomSheet.show();
224
- ```
225
-
226
- **Kotlin:**
227
- ```kotlin
228
- val bottomSheet = BottomSheetDialog(this)
229
- val view = layoutInflater.inflate(R.layout.bottom_sheet_chat, null)
230
-
231
- val messageList = view.findViewById<CometChatMessageList>(R.id.messageList)
232
- val composer = view.findViewById<CometChatMessageComposer>(R.id.composer)
233
-
234
- messageList.setUser(user)
235
- composer.setUser(user)
236
-
237
- bottomSheet.setContentView(view)
238
- bottomSheet.show()
239
- ```
240
-
241
- ---
242
-
243
- ## 5. Pattern D — Bottom Navigation Tabs
244
-
245
- Full messenger with Conversations, Users, Groups, and Calls as tabs.
246
-
247
- **Java:**
248
- ```java
249
- binding.bottomNavigationView.setOnItemSelectedListener(item -> {
250
- Fragment fragment;
251
- int id = item.getItemId();
252
- if (id == R.id.nav_chats) {
253
- fragment = new ChatsFragment(); // Contains CometChatConversations
254
- } else if (id == R.id.nav_users) {
255
- fragment = new UsersFragment(); // Contains CometChatUsers
256
- } else if (id == R.id.nav_groups) {
257
- fragment = new GroupsFragment(); // Contains CometChatGroups
258
- } else if (id == R.id.nav_calls) {
259
- fragment = new CallsFragment(); // Contains CometChatCallLogs
260
- } else {
261
- return false;
262
- }
263
- getSupportFragmentManager().beginTransaction()
264
- .replace(R.id.fragment_container, fragment)
265
- .commit();
266
- return true;
267
- });
268
- ```
269
-
270
- ---
271
-
272
- ## Hard rules
273
-
274
- - **Always set `User` or `Group` on message components.** `CometChatMessageList`, `CometChatMessageComposer`, and `CometChatMessageHeader` require either `setUser()` or `setGroup()` — never both, never neither.
275
- - **Fetch the `User`/`Group` object before setting it.** Use `CometChat.getUser(uid)` or `CometChat.getGroup(guid)` — don't construct objects manually.
276
- - **Set back icon visibility on `CometChatMessageHeader`.** The method is `setBackIconVisibility()`. Default is `GONE`. Set to `VISIBLE` when the user needs to navigate back.
277
- - **Register the Activity in `AndroidManifest.xml`.** Every new Activity needs a manifest entry.
@@ -1,95 +0,0 @@
1
- ---
2
- name: cometchat-android-v5-production
3
- description: "Production readiness for CometChat Android — server-side token auth, user management CRUD, ProGuard rules, and security checklist."
4
- license: "MIT"
5
- compatibility: "Android 7.0+; Java 8+; Kotlin 1.8+; com.cometchat:chat-uikit-android:5.x"
6
- metadata:
7
- author: "CometChat"
8
- version: "3.0.0"
9
- tags: "cometchat android production auth token security user-management proguard"
10
- ---
11
-
12
- > **Ground truth:** `com.cometchat:chat-uikit-android:5.x` (legacy/maintenance-only; +`calls-sdk-android:5.x`) — resolved AAR (javap) + `ui-kit/android`. **Official docs:** https://www.cometchat.com/docs/fundamentals/user-auth · **Docs MCP:** `claude mcp add --transport http cometchat-docs https://www.cometchat.com/docs/mcp` (or fetch the URL directly without MCP). Verify symbols against the installed package/source before relying on them.
13
-
14
- > **Companion skills:** `cometchat-android-v5-core` covers dev-mode login;
15
- > `cometchat-android-v5-push` covers push notification setup for production.
16
-
17
- ## Purpose
18
-
19
- This skill covers hardening a CometChat Android integration for production: replacing client-side Auth Key with server-side token generation, user management CRUD, ProGuard/R8 rules, and security best practices.
20
-
21
- ---
22
-
23
- ## Use this skill when
24
-
25
- - "Set up production auth"
26
- - "Replace Auth Key with tokens"
27
- - "ProGuard is breaking CometChat"
28
- - "How do I create CometChat users from my backend?"
29
-
30
- ## Do not use this skill when
31
-
32
- - Setting up dev-mode login → use `cometchat-android-v5-core`
33
- - Adding features → use `cometchat-android-v5-features`
34
-
35
- ---
36
-
37
- ## 1. Why production auth matters
38
-
39
- In dev mode, `CometChatUIKit.login(uid)` uses the Auth Key embedded in your app. Anyone can decompile the APK, extract the key, and login as ANY user. Production deployments MUST use server-side token generation.
40
-
41
- ## 2. Token auth flow
42
-
43
- ```
44
- Client → Your Server → CometChat REST API → auth token → Client
45
- Client calls CometChatUIKit.loginWithAuthToken(token)
46
- ```
47
-
48
- Your server calls: `POST https://{APP_ID}.api-{REGION}.cometchat.io/v3/users/{uid}/auth_tokens`
49
- with headers: `appId`, `apiKey` (REST API Key, NOT Auth Key).
50
-
51
- ## 3. Client-side implementation
52
-
53
- **Java:**
54
- ```java
55
- // Fetch token from YOUR backend
56
- String token = fetchTokenFromYourServer(currentUserId);
57
-
58
- CometChatUIKit.loginWithAuthToken(token, new CometChat.CallbackListener<User>() {
59
- @Override
60
- public void onSuccess(User user) {
61
- // Navigate to chat
62
- }
63
- @Override
64
- public void onError(CometChatException e) {
65
- // Handle error
66
- }
67
- });
68
- ```
69
-
70
- ## 4. ProGuard/R8 rules
71
-
72
- Add to `proguard-rules.pro`:
73
-
74
- ```
75
- -keep class com.cometchat.** { *; }
76
- -keep class com.cometchat.chatuikit.** { *; }
77
- -dontwarn com.cometchat.**
78
- ```
79
-
80
- ## 5. Security checklist
81
-
82
- - [ ] Auth Key removed from client code
83
- - [ ] REST API Key stored server-side only
84
- - [ ] `loginWithAuthToken()` used instead of `login(uid)`
85
- - [ ] ProGuard rules added
86
- - [ ] Network security config allows CometChat domains
87
- - [ ] Push token unregistered on logout
88
-
89
- ---
90
-
91
- ## Hard rules
92
-
93
- - **Never ship Auth Key in production APKs.** Use `loginWithAuthToken()`.
94
- - **REST API Key ≠ Auth Key.** REST API Key is server-only. Auth Key is client-side dev-only.
95
- - **Add ProGuard keep rules.** R8 can strip CometChat classes needed at runtime.