@cometchat/skills 4.4.2 → 5.0.1

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 (518) hide show
  1. package/.claude-plugin/marketplace.json +55 -0
  2. package/.claude-plugin/plugin.json +14 -0
  3. package/CHANGELOG.md +44 -0
  4. package/LICENSE +21 -0
  5. package/MIGRATING.md +187 -0
  6. package/README.md +52 -156
  7. package/RULES.md +125 -0
  8. package/bin/cometchat-skills.mjs +1280 -0
  9. package/bin/legacy-skills.json +95 -0
  10. package/catalogs/android-v6.json +1646 -0
  11. package/catalogs/flutter-v6.json +651 -0
  12. package/catalogs/ios-v5.json +1383 -0
  13. package/catalogs/rn-calls-v5.json +134 -0
  14. package/catalogs/rn-calls-v5.symbols.txt +58 -0
  15. package/catalogs/rn-sdk-v4.json +672 -0
  16. package/catalogs/rn-v5.json +449 -0
  17. package/catalogs/rn-v5.symbols.txt +216 -0
  18. package/catalogs/sdk-android-v5.json +514 -0
  19. package/contracts.android-calls-v5.json +122 -0
  20. package/contracts.android-v6.json +135 -0
  21. package/contracts.angular-v5.json +694 -0
  22. package/contracts.flutter-calls-v5.json +77 -0
  23. package/contracts.flutter-v6.json +126 -0
  24. package/contracts.ios-calls-v5.json +67 -0
  25. package/contracts.ios-v5.json +436 -0
  26. package/contracts.json +82 -0
  27. package/contracts.rn-calls-v5.json +77 -0
  28. package/contracts.rn-v5.json +727 -0
  29. package/contracts.sdk-android-v5.json +15 -0
  30. package/contracts.web-calls-v5.json +45 -0
  31. package/features.android-calls-v5.json +246 -0
  32. package/features.android-v6.json +65 -0
  33. package/features.angular-v5.json +521 -0
  34. package/features.flutter-calls-v5.json +286 -0
  35. package/features.flutter-v6.json +484 -0
  36. package/features.ios-calls-v5.json +236 -0
  37. package/features.ios-v5.json +573 -0
  38. package/features.json +61 -0
  39. package/features.rn-calls-v5.json +187 -0
  40. package/features.rn-v5.json +614 -0
  41. package/features.sdk-android-v5.json +40 -0
  42. package/features.sdk-jsv4.json +24 -0
  43. package/features.web-calls-v5.json +108 -0
  44. package/package.json +156 -74
  45. package/peers.yaml +355 -0
  46. package/registry/README.md +31 -0
  47. package/registry/android-calls-v5.json +94 -0
  48. package/registry/android-v6.json +177 -0
  49. package/registry/angular-v5.json +154 -0
  50. package/registry/flutter-calls-v5.json +94 -0
  51. package/registry/flutter-v6.json +159 -0
  52. package/registry/ios-calls-v5.json +99 -0
  53. package/registry/ios-v5.json +152 -0
  54. package/registry/rn-calls-v5.json +99 -0
  55. package/registry/rn-v5.json +169 -0
  56. package/registry/sdk-android-v5.json +93 -0
  57. package/registry/sdk-jsv4.json +93 -0
  58. package/registry/web-calls-v5.json +94 -0
  59. package/registry/web-v7.json +154 -0
  60. package/skills/cometchat/SKILL.md +47 -2096
  61. package/skills/cometchat-a11y/SKILL.md +44 -472
  62. package/skills/cometchat-analytics/SKILL.md +61 -0
  63. package/skills/cometchat-android-v5-calls-sdk/SKILL.md +206 -0
  64. package/skills/cometchat-android-v5-calls-sdk/references/build-truth.md +63 -0
  65. package/skills/cometchat-android-v5-calls-sdk/references/docs-map.md +119 -0
  66. package/skills/cometchat-android-v5-calls-sdk/references/method-map.md +53 -0
  67. package/skills/cometchat-android-v5-calls-sdk/references/pitfalls.md +72 -0
  68. package/skills/cometchat-android-v5-calls-sdk/references/ringing.md +92 -0
  69. package/skills/cometchat-android-v5-calls-sdk/references/user-switch.md +90 -0
  70. package/skills/cometchat-android-v5-sdk/SKILL.md +127 -0
  71. package/skills/cometchat-android-v5-sdk/references/app-surface.md +88 -0
  72. package/skills/cometchat-android-v5-sdk/references/docs-map.md +91 -0
  73. package/skills/cometchat-android-v6-builder-settings/SKILL.md +51 -137
  74. package/skills/cometchat-android-v6-calls/SKILL.md +128 -413
  75. package/skills/cometchat-android-v6-compose-components/SKILL.md +84 -194
  76. package/skills/cometchat-android-v6-compose-customization/SKILL.md +66 -411
  77. package/skills/cometchat-android-v6-compose-placement/SKILL.md +154 -237
  78. package/skills/cometchat-android-v6-core/SKILL.md +236 -672
  79. package/skills/cometchat-android-v6-core/references/anti-patterns.md +31 -0
  80. package/skills/cometchat-android-v6-core/references/component-props.md +168 -0
  81. package/skills/cometchat-android-v6-core/references/docs-map.md +153 -0
  82. package/skills/cometchat-android-v6-core/references/layout.md +112 -0
  83. package/skills/cometchat-android-v6-core/references/lifecycle.md +75 -0
  84. package/skills/cometchat-android-v6-core/references/setup-credentials.md +105 -0
  85. package/skills/cometchat-android-v6-core/references/troubleshooting.md +36 -0
  86. package/skills/cometchat-android-v6-events/SKILL.md +46 -184
  87. package/skills/cometchat-android-v6-extensions/SKILL.md +39 -179
  88. package/skills/cometchat-android-v6-features/SKILL.md +74 -143
  89. package/skills/cometchat-android-v6-kotlin-components/SKILL.md +75 -193
  90. package/skills/cometchat-android-v6-kotlin-customization/SKILL.md +67 -419
  91. package/skills/cometchat-android-v6-kotlin-placement/SKILL.md +77 -223
  92. package/skills/cometchat-android-v6-migration/SKILL.md +67 -378
  93. package/skills/cometchat-android-v6-production/SKILL.md +41 -179
  94. package/skills/cometchat-android-v6-push/SKILL.md +39 -289
  95. package/skills/cometchat-android-v6-testing/SKILL.md +50 -265
  96. package/skills/cometchat-android-v6-troubleshooting/SKILL.md +70 -254
  97. package/skills/cometchat-angular-v5-calls/SKILL.md +193 -0
  98. package/skills/cometchat-angular-v5-components/SKILL.md +131 -0
  99. package/skills/cometchat-angular-v5-components/references/catalog.md +111 -0
  100. package/skills/cometchat-angular-v5-components/references/host-composed.md +46 -0
  101. package/skills/cometchat-angular-v5-core/SKILL.md +300 -0
  102. package/skills/cometchat-angular-v5-core/references/anti-patterns.md +49 -0
  103. package/skills/cometchat-angular-v5-core/references/component-props.md +55 -0
  104. package/skills/cometchat-angular-v5-core/references/dependencies.md +66 -0
  105. package/skills/cometchat-angular-v5-core/references/docs-map.md +132 -0
  106. package/skills/cometchat-angular-v5-core/references/layout.md +64 -0
  107. package/skills/cometchat-angular-v5-core/references/lifecycle.md +202 -0
  108. package/skills/cometchat-angular-v5-core/references/setup-credentials.md +137 -0
  109. package/skills/cometchat-angular-v5-core/references/theming.md +70 -0
  110. package/skills/cometchat-angular-v5-core/references/troubleshooting.md +27 -0
  111. package/skills/cometchat-angular-v5-customization/SKILL.md +94 -0
  112. package/skills/cometchat-angular-v5-features/SKILL.md +107 -0
  113. package/skills/cometchat-angular-v5-features/references/custom-messages.md +133 -0
  114. package/skills/cometchat-angular-v5-features/references/formatters.md +28 -0
  115. package/skills/cometchat-angular-v5-features/references/host-composed-extensions.md +85 -0
  116. package/skills/cometchat-angular-v5-migration/SKILL.md +40 -0
  117. package/skills/cometchat-angular-v5-migration/references/migration-guide.md +165 -0
  118. package/skills/cometchat-angular-v5-patterns/SKILL.md +107 -0
  119. package/skills/cometchat-angular-v5-placement/SKILL.md +133 -0
  120. package/skills/cometchat-angular-v5-placement/references/combined-app.md +174 -0
  121. package/skills/cometchat-angular-v5-placement/references/core-surface.md +199 -0
  122. package/skills/cometchat-angular-v5-production/SKILL.md +102 -0
  123. package/skills/cometchat-angular-v5-push/SKILL.md +61 -0
  124. package/skills/cometchat-angular-v5-testing/SKILL.md +112 -0
  125. package/skills/cometchat-angular-v5-troubleshooting/SKILL.md +96 -0
  126. package/skills/cometchat-audit/SKILL.md +61 -0
  127. package/skills/cometchat-compliance/SKILL.md +63 -0
  128. package/skills/cometchat-flutter-v5-sdk/SKILL.md +188 -0
  129. package/skills/cometchat-flutter-v5-sdk/references/doc-corrections.md +55 -0
  130. package/skills/cometchat-flutter-v5-sdk/references/docs-map.md +211 -0
  131. package/skills/cometchat-flutter-v5-sdk/references/platform-notes.md +48 -0
  132. package/skills/cometchat-flutter-v5-sdk/references/transcription.md +87 -0
  133. package/skills/cometchat-flutter-v6-calls/SKILL.md +75 -389
  134. package/skills/cometchat-flutter-v6-components/SKILL.md +88 -361
  135. package/skills/cometchat-flutter-v6-core/SKILL.md +154 -593
  136. package/skills/cometchat-flutter-v6-core/references/anti-patterns.md +55 -0
  137. package/skills/cometchat-flutter-v6-core/references/docs-map.md +143 -0
  138. package/skills/cometchat-flutter-v6-core/references/layout.md +45 -0
  139. package/skills/cometchat-flutter-v6-core/references/lifecycle.md +87 -0
  140. package/skills/cometchat-flutter-v6-core/references/setup-credentials.md +84 -0
  141. package/skills/cometchat-flutter-v6-core/references/troubleshooting.md +26 -0
  142. package/skills/cometchat-flutter-v6-customization/SKILL.md +70 -712
  143. package/skills/cometchat-flutter-v6-events/SKILL.md +79 -174
  144. package/skills/cometchat-flutter-v6-features/SKILL.md +55 -394
  145. package/skills/cometchat-flutter-v6-migration/SKILL.md +68 -367
  146. package/skills/cometchat-flutter-v6-migration/references/migration-guide.md +132 -0
  147. package/skills/cometchat-flutter-v6-patterns/SKILL.md +61 -0
  148. package/skills/cometchat-flutter-v6-placement/SKILL.md +94 -381
  149. package/skills/cometchat-flutter-v6-production/SKILL.md +59 -615
  150. package/skills/cometchat-flutter-v6-push/SKILL.md +46 -455
  151. package/skills/cometchat-flutter-v6-testing/SKILL.md +68 -299
  152. package/skills/cometchat-flutter-v6-troubleshooting/SKILL.md +54 -878
  153. package/skills/cometchat-i18n/SKILL.md +35 -404
  154. package/skills/cometchat-ios-calls/SKILL.md +112 -563
  155. package/skills/cometchat-ios-components/SKILL.md +44 -834
  156. package/skills/cometchat-ios-core/SKILL.md +182 -1068
  157. package/skills/cometchat-ios-core/references/anti-patterns.md +113 -0
  158. package/skills/cometchat-ios-core/references/docs-map.md +124 -0
  159. package/skills/cometchat-ios-core/references/install.md +23 -0
  160. package/skills/cometchat-ios-core/references/layout.md +219 -0
  161. package/skills/cometchat-ios-core/references/setup-credentials.md +197 -0
  162. package/skills/cometchat-ios-core/references/swiftui.md +91 -0
  163. package/skills/cometchat-ios-core/references/troubleshooting.md +100 -0
  164. package/skills/cometchat-ios-customization/SKILL.md +33 -968
  165. package/skills/cometchat-ios-features/SKILL.md +29 -738
  166. package/skills/cometchat-ios-migration/SKILL.md +39 -0
  167. package/skills/cometchat-ios-placement/SKILL.md +51 -729
  168. package/skills/cometchat-ios-production/SKILL.md +67 -723
  169. package/skills/cometchat-ios-push/SKILL.md +24 -602
  170. package/skills/cometchat-ios-testing/SKILL.md +36 -355
  171. package/skills/cometchat-ios-troubleshooting/SKILL.md +31 -989
  172. package/skills/cometchat-ios-v5-sdk/SKILL.md +161 -0
  173. package/skills/cometchat-ios-v5-sdk/references/docs-map.md +326 -0
  174. package/skills/cometchat-js-v5-sdk/SKILL.md +95 -0
  175. package/skills/cometchat-js-v5-sdk/references/docs-map.md +114 -0
  176. package/skills/cometchat-migrate-from-getstream/SKILL.md +65 -0
  177. package/skills/cometchat-migrate-from-getstream/references/concept-map.md +98 -0
  178. package/skills/cometchat-migrate-from-getstream/references/data-migration.md +74 -0
  179. package/skills/cometchat-migrate-from-getstream/references/feature-map.md +108 -0
  180. package/skills/cometchat-migrate-from-getstream/references/inventory.md +82 -0
  181. package/skills/cometchat-migrate-from-getstream/references/native-build.md +9 -0
  182. package/skills/cometchat-migrate-from-getstream/references/report-template.md +59 -0
  183. package/skills/cometchat-migrate-from-sendbird/SKILL.md +64 -0
  184. package/skills/cometchat-migrate-from-sendbird/references/concept-map.md +99 -0
  185. package/skills/cometchat-migrate-from-sendbird/references/data-migration.md +74 -0
  186. package/skills/cometchat-migrate-from-sendbird/references/feature-map.md +104 -0
  187. package/skills/cometchat-migrate-from-sendbird/references/inventory.md +86 -0
  188. package/skills/cometchat-migrate-from-sendbird/references/native-build.md +10 -0
  189. package/skills/cometchat-migrate-from-sendbird/references/report-template.md +59 -0
  190. package/skills/cometchat-migrate-from-twilio/SKILL.md +52 -0
  191. package/skills/cometchat-migrate-from-twilio/references/concept-map.md +49 -0
  192. package/skills/cometchat-migrate-from-twilio/references/data-migration.md +50 -0
  193. package/skills/cometchat-migrate-from-twilio/references/feature-map.md +27 -0
  194. package/skills/cometchat-migrate-from-twilio/references/inventory.md +53 -0
  195. package/skills/cometchat-migrate-from-twilio/references/report-template.md +52 -0
  196. package/skills/cometchat-moderation/SKILL.md +58 -0
  197. package/skills/cometchat-onboarding/SKILL.md +92 -0
  198. package/skills/cometchat-onboarding/references/archetypes.md +51 -0
  199. package/skills/cometchat-onboarding/references/calling-first.md +77 -0
  200. package/skills/cometchat-onboarding/references/not-in-this-pack.md +8 -0
  201. package/skills/cometchat-onboarding/references/plan-artifact.md +133 -0
  202. package/skills/cometchat-onboarding/references/platforms.md +105 -0
  203. package/skills/cometchat-react-native-bare-patterns/SKILL.md +120 -0
  204. package/skills/cometchat-react-native-calls/SKILL.md +200 -0
  205. package/skills/cometchat-react-native-components/SKILL.md +142 -0
  206. package/skills/cometchat-react-native-core/SKILL.md +335 -0
  207. package/skills/cometchat-react-native-core/references/anti-patterns.md +79 -0
  208. package/skills/cometchat-react-native-core/references/component-props.md +105 -0
  209. package/skills/cometchat-react-native-core/references/dependencies.md +62 -0
  210. package/skills/cometchat-react-native-core/references/docs-map.md +127 -0
  211. package/skills/cometchat-react-native-core/references/layout.md +61 -0
  212. package/skills/cometchat-react-native-core/references/lifecycle.md +64 -0
  213. package/skills/cometchat-react-native-core/references/setup-credentials.md +39 -0
  214. package/skills/cometchat-react-native-customization/SKILL.md +198 -0
  215. package/skills/cometchat-react-native-expo-patterns/SKILL.md +116 -0
  216. package/skills/cometchat-react-native-features/SKILL.md +122 -0
  217. package/skills/cometchat-react-native-migration/SKILL.md +103 -0
  218. package/skills/cometchat-react-native-placement/SKILL.md +158 -0
  219. package/skills/cometchat-react-native-production/SKILL.md +79 -0
  220. package/skills/cometchat-react-native-push/SKILL.md +88 -0
  221. package/skills/cometchat-react-native-sdk/SKILL.md +133 -0
  222. package/skills/cometchat-react-native-sdk/references/method-map.md +239 -0
  223. package/skills/cometchat-react-native-sdk/references/page-map.md +96 -0
  224. package/skills/cometchat-react-native-testing/SKILL.md +94 -0
  225. package/skills/cometchat-react-native-troubleshooting/SKILL.md +174 -0
  226. package/skills/cometchat-react-native-v5-sdk/SKILL.md +150 -0
  227. package/skills/cometchat-react-native-v5-sdk/references/docs-map.md +127 -0
  228. package/skills/cometchat-react-native-v5-sdk/references/ringing-voip.md +369 -0
  229. package/skills/cometchat-react-v7-calls/SKILL.md +75 -0
  230. package/skills/cometchat-react-v7-components/SKILL.md +72 -0
  231. package/skills/cometchat-react-v7-core/SKILL.md +101 -0
  232. package/skills/cometchat-react-v7-core/references/anti-patterns.md +19 -0
  233. package/skills/cometchat-react-v7-core/references/component-props.md +82 -0
  234. package/skills/cometchat-react-v7-core/references/dependencies.md +23 -0
  235. package/skills/cometchat-react-v7-core/references/docs-map.md +117 -0
  236. package/skills/cometchat-react-v7-core/references/layout.md +150 -0
  237. package/skills/cometchat-react-v7-core/references/lifecycle.md +74 -0
  238. package/skills/cometchat-react-v7-core/references/setup-credentials.md +58 -0
  239. package/skills/cometchat-react-v7-core/references/ssr.md +11 -0
  240. package/skills/cometchat-react-v7-core/references/theming.md +52 -0
  241. package/skills/cometchat-react-v7-customization/SKILL.md +84 -0
  242. package/skills/cometchat-react-v7-features/SKILL.md +92 -0
  243. package/skills/cometchat-react-v7-migration/SKILL.md +39 -0
  244. package/skills/cometchat-react-v7-migration/references/migration-guide.md +119 -0
  245. package/skills/cometchat-react-v7-patterns/SKILL.md +43 -0
  246. package/skills/cometchat-react-v7-placement/SKILL.md +106 -0
  247. package/skills/cometchat-react-v7-placement/references/recipes.md +354 -0
  248. package/skills/cometchat-react-v7-production/SKILL.md +84 -0
  249. package/skills/cometchat-react-v7-push/SKILL.md +53 -0
  250. package/skills/cometchat-react-v7-testing/SKILL.md +60 -0
  251. package/skills/cometchat-react-v7-troubleshooting/SKILL.md +47 -0
  252. package/skills/cometchat-security/SKILL.md +80 -0
  253. package/skills/cometchat-self-host/SKILL.md +56 -0
  254. package/test-suite/README.md +70 -0
  255. package/test-suite/catalogs/android-calls-v5.json +830 -0
  256. package/test-suite/catalogs/android-calls-v5.symbols.txt +499 -0
  257. package/test-suite/catalogs/android-v6.json +1646 -0
  258. package/test-suite/catalogs/android-v6.symbols.txt +298 -0
  259. package/test-suite/catalogs/angular-v5.json +7587 -0
  260. package/test-suite/catalogs/flutter-calls-v5.json +196 -0
  261. package/test-suite/catalogs/flutter-calls-v5.symbols.txt +59 -0
  262. package/test-suite/catalogs/flutter-v6.json +651 -0
  263. package/test-suite/catalogs/ios-calls-v5.json +158 -0
  264. package/test-suite/catalogs/ios-calls-v5.symbols.txt +70 -0
  265. package/test-suite/catalogs/ios-v5.json +1383 -0
  266. package/test-suite/catalogs/ios-v5.symbols.txt +699 -0
  267. package/test-suite/catalogs/rn-calls-v5.json +134 -0
  268. package/test-suite/catalogs/rn-sdk-v4.json +672 -0
  269. package/test-suite/catalogs/rn-v5.json +449 -0
  270. package/test-suite/catalogs/sdk-android-v5.json +514 -0
  271. package/test-suite/catalogs/sdk-android-v5.symbols.txt +254 -0
  272. package/test-suite/catalogs/sdk-jsv4.json +800 -0
  273. package/test-suite/catalogs/web-calls-v5.json +195 -0
  274. package/test-suite/catalogs/web-v7.json +1243 -0
  275. package/test-suite/scripts/build-registry.mjs +113 -0
  276. package/test-suite/scripts/catalog-refresh-dart.mjs +151 -0
  277. package/test-suite/scripts/catalog-refresh.mjs +100 -0
  278. package/test-suite/scripts/lint-skills.mjs +932 -0
  279. package/test-suite/scripts/measure-tokens.mjs +169 -0
  280. package/test-suite/scripts/typecheck-fences-dart.mjs +437 -0
  281. package/test-suite/scripts/typecheck-fences-kotlin.mjs +269 -0
  282. package/test-suite/scripts/typecheck-fences.mjs +206 -0
  283. package/test-suite/scripts/verify-catalog.mjs +242 -0
  284. package/test-suite/scripts/verify-contract-fences.mjs +94 -0
  285. package/test-suite/scripts/verify-detection.mjs +178 -0
  286. package/test-suite/scripts/verify-docs-base.mjs +91 -0
  287. package/test-suite/scripts/verify-family-agnostic.mjs +134 -0
  288. package/test-suite/scripts/verify-golden-path.mjs +138 -0
  289. package/test-suite/scripts/verify-oracle-components.mjs +133 -0
  290. package/test-suite/scripts/verify-template-bindings.mjs +148 -0
  291. package/test-suite/typecheck/angular-v5/package.json +21 -0
  292. package/test-suite/typecheck/angular-v5/tsconfig.json +21 -0
  293. package/test-suite/typecheck/flutter-v6/analysis_options.yaml +25 -0
  294. package/test-suite/typecheck/flutter-v6/pubspec.yaml +21 -0
  295. package/test-suite/typecheck/web-v7/package.json +18 -0
  296. package/test-suite/typecheck/web-v7/tsconfig.json +19 -0
  297. package/bin/install.js +0 -1003
  298. package/skills/.claude-plugin/marketplace.json +0 -86
  299. package/skills/cometchat/references/asking-questions.md +0 -48
  300. package/skills/cometchat-android-v5/SKILL.md +0 -121
  301. package/skills/cometchat-android-v5-calls/SKILL.md +0 -429
  302. package/skills/cometchat-android-v5-calls/references/README.md +0 -53
  303. package/skills/cometchat-android-v5-calls/references/add-calls-to-existing-chat.md +0 -197
  304. package/skills/cometchat-android-v5-calls/references/audio-controls.md +0 -91
  305. package/skills/cometchat-android-v5-calls/references/background-handling.md +0 -168
  306. package/skills/cometchat-android-v5-calls/references/call-layouts.md +0 -131
  307. package/skills/cometchat-android-v5-calls/references/call-logs.md +0 -113
  308. package/skills/cometchat-android-v5-calls/references/call-session.md +0 -274
  309. package/skills/cometchat-android-v5-calls/references/custom-ui.md +0 -150
  310. package/skills/cometchat-android-v5-calls/references/event-listeners.md +0 -123
  311. package/skills/cometchat-android-v5-calls/references/group-calls.md +0 -205
  312. package/skills/cometchat-android-v5-calls/references/idle-timeout.md +0 -117
  313. package/skills/cometchat-android-v5-calls/references/in-call-chat.md +0 -134
  314. package/skills/cometchat-android-v5-calls/references/join-session.md +0 -120
  315. package/skills/cometchat-android-v5-calls/references/migration-v4-to-v5.md +0 -222
  316. package/skills/cometchat-android-v5-calls/references/participant-management.md +0 -110
  317. package/skills/cometchat-android-v5-calls/references/picture-in-picture.md +0 -106
  318. package/skills/cometchat-android-v5-calls/references/raise-hand.md +0 -248
  319. package/skills/cometchat-android-v5-calls/references/recording.md +0 -101
  320. package/skills/cometchat-android-v5-calls/references/ringing-integration.md +0 -152
  321. package/skills/cometchat-android-v5-calls/references/screen-sharing.md +0 -78
  322. package/skills/cometchat-android-v5-calls/references/server-fcm-voip.md +0 -215
  323. package/skills/cometchat-android-v5-calls/references/session-settings.md +0 -121
  324. package/skills/cometchat-android-v5-calls/references/setup.md +0 -137
  325. package/skills/cometchat-android-v5-calls/references/share-invite.md +0 -156
  326. package/skills/cometchat-android-v5-calls/references/video-controls.md +0 -87
  327. package/skills/cometchat-android-v5-calls/references/voip-calling.md +0 -526
  328. package/skills/cometchat-android-v5-components/SKILL.md +0 -431
  329. package/skills/cometchat-android-v5-core/SKILL.md +0 -486
  330. package/skills/cometchat-android-v5-customization/SKILL.md +0 -469
  331. package/skills/cometchat-android-v5-extensions/SKILL.md +0 -127
  332. package/skills/cometchat-android-v5-features/SKILL.md +0 -131
  333. package/skills/cometchat-android-v5-placement/SKILL.md +0 -277
  334. package/skills/cometchat-android-v5-production/SKILL.md +0 -95
  335. package/skills/cometchat-android-v5-push/SKILL.md +0 -619
  336. package/skills/cometchat-android-v5-testing/SKILL.md +0 -188
  337. package/skills/cometchat-android-v5-theming/SKILL.md +0 -167
  338. package/skills/cometchat-android-v5-troubleshooting/SKILL.md +0 -74
  339. package/skills/cometchat-android-v6/SKILL.md +0 -108
  340. package/skills/cometchat-android-v6-calls/references/add-calls-to-existing-chat.md +0 -97
  341. package/skills/cometchat-android-v6-calls/references/advanced-features.md +0 -87
  342. package/skills/cometchat-android-v6-calls/references/call-layouts.md +0 -100
  343. package/skills/cometchat-android-v6-calls/references/call-session.md +0 -163
  344. package/skills/cometchat-android-v6-calls/references/device-management.md +0 -172
  345. package/skills/cometchat-android-v6-calls/references/group-calls.md +0 -191
  346. package/skills/cometchat-android-v6-calls/references/idle-timeout.md +0 -110
  347. package/skills/cometchat-android-v6-calls/references/in-call-chat.md +0 -141
  348. package/skills/cometchat-android-v6-calls/references/raise-hand.md +0 -188
  349. package/skills/cometchat-android-v6-calls/references/ringing-integration.md +0 -176
  350. package/skills/cometchat-android-v6-calls/references/server-fcm-voip.md +0 -127
  351. package/skills/cometchat-android-v6-calls/references/share-invite.md +0 -105
  352. package/skills/cometchat-android-v6-compose-theming/SKILL.md +0 -250
  353. package/skills/cometchat-android-v6-kotlin-theming/SKILL.md +0 -233
  354. package/skills/cometchat-angular-calls/SKILL.md +0 -380
  355. package/skills/cometchat-angular-calls/references/add-calls-to-existing-chat.md +0 -96
  356. package/skills/cometchat-angular-calls/references/call-layouts.md +0 -123
  357. package/skills/cometchat-angular-calls/references/call-session.md +0 -167
  358. package/skills/cometchat-angular-calls/references/custom-ui.md +0 -239
  359. package/skills/cometchat-angular-calls/references/device-management.md +0 -154
  360. package/skills/cometchat-angular-calls/references/group-calls.md +0 -433
  361. package/skills/cometchat-angular-calls/references/idle-timeout.md +0 -161
  362. package/skills/cometchat-angular-calls/references/in-call-chat.md +0 -148
  363. package/skills/cometchat-angular-calls/references/lazy-loading-pitfalls.md +0 -205
  364. package/skills/cometchat-angular-calls/references/migration-v4-to-v5.md +0 -53
  365. package/skills/cometchat-angular-calls/references/ngzone-and-async-callbacks.md +0 -184
  366. package/skills/cometchat-angular-calls/references/picture-in-picture.md +0 -285
  367. package/skills/cometchat-angular-calls/references/raise-hand.md +0 -172
  368. package/skills/cometchat-angular-calls/references/recording-screen-share.md +0 -260
  369. package/skills/cometchat-angular-calls/references/ringing-integration.md +0 -133
  370. package/skills/cometchat-angular-calls/references/server-web-push-vapid.md +0 -100
  371. package/skills/cometchat-angular-calls/references/share-invite.md +0 -122
  372. package/skills/cometchat-angular-calls/references/virtual-background.md +0 -29
  373. package/skills/cometchat-angular-components/SKILL.md +0 -235
  374. package/skills/cometchat-angular-core/SKILL.md +0 -386
  375. package/skills/cometchat-angular-customization/SKILL.md +0 -616
  376. package/skills/cometchat-angular-features/SKILL.md +0 -329
  377. package/skills/cometchat-angular-patterns/SKILL.md +0 -256
  378. package/skills/cometchat-angular-placement/SKILL.md +0 -314
  379. package/skills/cometchat-angular-production/SKILL.md +0 -564
  380. package/skills/cometchat-angular-push/SKILL.md +0 -389
  381. package/skills/cometchat-angular-testing/SKILL.md +0 -605
  382. package/skills/cometchat-angular-theming/SKILL.md +0 -290
  383. package/skills/cometchat-angular-troubleshooting/SKILL.md +0 -364
  384. package/skills/cometchat-astro-patterns/SKILL.md +0 -708
  385. package/skills/cometchat-calls/SKILL.md +0 -364
  386. package/skills/cometchat-calls/references/use-case-broadcast.md +0 -199
  387. package/skills/cometchat-calls/references/use-case-marketplace.md +0 -157
  388. package/skills/cometchat-calls/references/use-case-support.md +0 -189
  389. package/skills/cometchat-calls/references/use-case-team.md +0 -180
  390. package/skills/cometchat-calls/references/use-case-telehealth.md +0 -153
  391. package/skills/cometchat-components/SKILL.md +0 -1142
  392. package/skills/cometchat-core/SKILL.md +0 -1048
  393. package/skills/cometchat-customization/SKILL.md +0 -580
  394. package/skills/cometchat-customization/references/component-catalog.md +0 -236
  395. package/skills/cometchat-features/SKILL.md +0 -861
  396. package/skills/cometchat-flutter-v5/SKILL.md +0 -173
  397. package/skills/cometchat-flutter-v5-calls/SKILL.md +0 -455
  398. package/skills/cometchat-flutter-v5-calls/references/add-calls-to-existing-chat.md +0 -193
  399. package/skills/cometchat-flutter-v5-calls/references/call-layouts.md +0 -103
  400. package/skills/cometchat-flutter-v5-calls/references/call-session.md +0 -285
  401. package/skills/cometchat-flutter-v5-calls/references/device-management.md +0 -124
  402. package/skills/cometchat-flutter-v5-calls/references/group-calls.md +0 -181
  403. package/skills/cometchat-flutter-v5-calls/references/idle-timeout.md +0 -99
  404. package/skills/cometchat-flutter-v5-calls/references/in-call-chat.md +0 -135
  405. package/skills/cometchat-flutter-v5-calls/references/migration-v4-to-v5.md +0 -210
  406. package/skills/cometchat-flutter-v5-calls/references/raise-hand.md +0 -255
  407. package/skills/cometchat-flutter-v5-calls/references/ringing-integration.md +0 -196
  408. package/skills/cometchat-flutter-v5-calls/references/server-push-bridge.md +0 -101
  409. package/skills/cometchat-flutter-v5-calls/references/share-invite.md +0 -148
  410. package/skills/cometchat-flutter-v5-conversations/SKILL.md +0 -118
  411. package/skills/cometchat-flutter-v5-core/SKILL.md +0 -239
  412. package/skills/cometchat-flutter-v5-customization/SKILL.md +0 -358
  413. package/skills/cometchat-flutter-v5-events/SKILL.md +0 -156
  414. package/skills/cometchat-flutter-v5-messages/SKILL.md +0 -259
  415. package/skills/cometchat-flutter-v5-production/SKILL.md +0 -216
  416. package/skills/cometchat-flutter-v5-push/SKILL.md +0 -285
  417. package/skills/cometchat-flutter-v5-testing/SKILL.md +0 -401
  418. package/skills/cometchat-flutter-v5-theming/SKILL.md +0 -161
  419. package/skills/cometchat-flutter-v5-troubleshooting/SKILL.md +0 -130
  420. package/skills/cometchat-flutter-v5-users-groups/SKILL.md +0 -152
  421. package/skills/cometchat-flutter-v6/SKILL.md +0 -446
  422. package/skills/cometchat-flutter-v6-calls/references/add-calls-to-existing-chat.md +0 -136
  423. package/skills/cometchat-flutter-v6-calls/references/advanced-features.md +0 -89
  424. package/skills/cometchat-flutter-v6-calls/references/call-layouts.md +0 -105
  425. package/skills/cometchat-flutter-v6-calls/references/call-session.md +0 -229
  426. package/skills/cometchat-flutter-v6-calls/references/device-management.md +0 -105
  427. package/skills/cometchat-flutter-v6-calls/references/group-calls.md +0 -190
  428. package/skills/cometchat-flutter-v6-calls/references/idle-timeout.md +0 -88
  429. package/skills/cometchat-flutter-v6-calls/references/in-call-chat.md +0 -125
  430. package/skills/cometchat-flutter-v6-calls/references/raise-hand.md +0 -275
  431. package/skills/cometchat-flutter-v6-calls/references/ringing-integration.md +0 -171
  432. package/skills/cometchat-flutter-v6-calls/references/server-push-bridge.md +0 -93
  433. package/skills/cometchat-flutter-v6-calls/references/share-invite.md +0 -102
  434. package/skills/cometchat-flutter-v6-conversations/SKILL.md +0 -238
  435. package/skills/cometchat-flutter-v6-messages/SKILL.md +0 -384
  436. package/skills/cometchat-flutter-v6-theming/SKILL.md +0 -293
  437. package/skills/cometchat-flutter-v6-users-groups/SKILL.md +0 -224
  438. package/skills/cometchat-ios/SKILL.md +0 -325
  439. package/skills/cometchat-ios-calls/references/add-calls-to-existing-chat.md +0 -181
  440. package/skills/cometchat-ios-calls/references/audio-modes-and-controls.md +0 -45
  441. package/skills/cometchat-ios-calls/references/avaudiosession-routing.md +0 -188
  442. package/skills/cometchat-ios-calls/references/call-layouts.md +0 -76
  443. package/skills/cometchat-ios-calls/references/call-session.md +0 -218
  444. package/skills/cometchat-ios-calls/references/callkit-and-pushkit.md +0 -357
  445. package/skills/cometchat-ios-calls/references/custom-ui.md +0 -322
  446. package/skills/cometchat-ios-calls/references/device-management.md +0 -171
  447. package/skills/cometchat-ios-calls/references/group-calls.md +0 -359
  448. package/skills/cometchat-ios-calls/references/idle-timeout.md +0 -184
  449. package/skills/cometchat-ios-calls/references/in-call-chat.md +0 -179
  450. package/skills/cometchat-ios-calls/references/migration-v4-to-v5.md +0 -196
  451. package/skills/cometchat-ios-calls/references/picture-in-picture.md +0 -246
  452. package/skills/cometchat-ios-calls/references/raise-hand.md +0 -26
  453. package/skills/cometchat-ios-calls/references/recording-screen-share.md +0 -252
  454. package/skills/cometchat-ios-calls/references/ringing-integration.md +0 -143
  455. package/skills/cometchat-ios-calls/references/server-apns-pushkit.md +0 -267
  456. package/skills/cometchat-ios-calls/references/share-invite.md +0 -148
  457. package/skills/cometchat-ios-calls/references/swiftui-uikit-hosting.md +0 -246
  458. package/skills/cometchat-ios-calls/references/voip-cert-setup.md +0 -166
  459. package/skills/cometchat-ios-theming/SKILL.md +0 -667
  460. package/skills/cometchat-native-bare-patterns/SKILL.md +0 -550
  461. package/skills/cometchat-native-calls/SKILL.md +0 -671
  462. package/skills/cometchat-native-calls/references/add-calls-to-existing-chat.md +0 -203
  463. package/skills/cometchat-native-calls/references/call-layouts.md +0 -125
  464. package/skills/cometchat-native-calls/references/call-session.md +0 -182
  465. package/skills/cometchat-native-calls/references/custom-ui.md +0 -254
  466. package/skills/cometchat-native-calls/references/device-management.md +0 -158
  467. package/skills/cometchat-native-calls/references/expo-vs-bare.md +0 -179
  468. package/skills/cometchat-native-calls/references/group-calls.md +0 -296
  469. package/skills/cometchat-native-calls/references/idle-timeout.md +0 -128
  470. package/skills/cometchat-native-calls/references/in-call-chat.md +0 -145
  471. package/skills/cometchat-native-calls/references/migration-v4-to-v5.md +0 -72
  472. package/skills/cometchat-native-calls/references/picture-in-picture.md +0 -276
  473. package/skills/cometchat-native-calls/references/raise-hand.md +0 -205
  474. package/skills/cometchat-native-calls/references/recording-screen-share.md +0 -169
  475. package/skills/cometchat-native-calls/references/ringing-integration.md +0 -118
  476. package/skills/cometchat-native-calls/references/server-push-bridge.md +0 -135
  477. package/skills/cometchat-native-calls/references/server-push-payloads.md +0 -193
  478. package/skills/cometchat-native-calls/references/share-invite.md +0 -146
  479. package/skills/cometchat-native-calls/references/voip-push-end-to-end.md +0 -319
  480. package/skills/cometchat-native-components/SKILL.md +0 -628
  481. package/skills/cometchat-native-core/SKILL.md +0 -679
  482. package/skills/cometchat-native-customization/SKILL.md +0 -716
  483. package/skills/cometchat-native-expo-patterns/SKILL.md +0 -552
  484. package/skills/cometchat-native-features/SKILL.md +0 -638
  485. package/skills/cometchat-native-placement/SKILL.md +0 -509
  486. package/skills/cometchat-native-production/SKILL.md +0 -700
  487. package/skills/cometchat-native-push/SKILL.md +0 -594
  488. package/skills/cometchat-native-testing/SKILL.md +0 -582
  489. package/skills/cometchat-native-theming/SKILL.md +0 -681
  490. package/skills/cometchat-native-troubleshooting/SKILL.md +0 -501
  491. package/skills/cometchat-nextjs-patterns/SKILL.md +0 -899
  492. package/skills/cometchat-placement/SKILL.md +0 -1360
  493. package/skills/cometchat-production/SKILL.md +0 -1027
  494. package/skills/cometchat-react-calls/SKILL.md +0 -752
  495. package/skills/cometchat-react-calls/references/add-calls-to-existing-chat.md +0 -146
  496. package/skills/cometchat-react-calls/references/call-layouts.md +0 -160
  497. package/skills/cometchat-react-calls/references/call-session.md +0 -235
  498. package/skills/cometchat-react-calls/references/custom-ui.md +0 -247
  499. package/skills/cometchat-react-calls/references/device-management.md +0 -210
  500. package/skills/cometchat-react-calls/references/group-calls.md +0 -257
  501. package/skills/cometchat-react-calls/references/idle-timeout.md +0 -188
  502. package/skills/cometchat-react-calls/references/in-call-chat.md +0 -212
  503. package/skills/cometchat-react-calls/references/migration-v4-to-v5.md +0 -170
  504. package/skills/cometchat-react-calls/references/picture-in-picture.md +0 -245
  505. package/skills/cometchat-react-calls/references/raise-hand.md +0 -238
  506. package/skills/cometchat-react-calls/references/recording-screen-share.md +0 -144
  507. package/skills/cometchat-react-calls/references/ringing-integration.md +0 -255
  508. package/skills/cometchat-react-calls/references/server-web-push-vapid.md +0 -241
  509. package/skills/cometchat-react-calls/references/share-invite.md +0 -175
  510. package/skills/cometchat-react-calls/references/testing-calls-on-web.md +0 -216
  511. package/skills/cometchat-react-calls/references/virtual-background.md +0 -32
  512. package/skills/cometchat-react-calls/references/voip-and-web-push.md +0 -165
  513. package/skills/cometchat-react-patterns/SKILL.md +0 -628
  514. package/skills/cometchat-react-push/SKILL.md +0 -634
  515. package/skills/cometchat-react-router-patterns/SKILL.md +0 -758
  516. package/skills/cometchat-react-testing/SKILL.md +0 -413
  517. package/skills/cometchat-theming/SKILL.md +0 -498
  518. package/skills/cometchat-troubleshooting/SKILL.md +0 -294
@@ -1,224 +0,0 @@
1
- ---
2
- name: cometchat-flutter-v6-users-groups
3
- description: >
4
- Use when implementing user lists, group lists, or group member management with
5
- CometChat Flutter UIKit v6. Triggers on mentions of CometChatUsers, CometChatGroups,
6
- CometChatGroupMembers, UsersBloc, GroupsBloc, UsersServiceLocator, GroupsServiceLocator,
7
- user list, group list, contacts, members, group info, add members, ban members,
8
- transfer ownership, change scope, UsersRequestBuilder, GroupsRequestBuilder,
9
- GroupMembersRequestBuilder, or customizing user/group list items.
10
- license: "MIT"
11
- compatibility: "cometchat_chat_uikit ^6.0.0; flutter_bloc ^8.1.0"
12
- metadata:
13
- author: "CometChat"
14
- version: "3.0.0"
15
- tags: "cometchat flutter users groups members contacts"
16
- ---
17
-
18
- > **Ground truth:** `cometchat_chat_uikit: ^6.0` — pub-cache source + `ui-kit/flutter`. **Official docs:** https://www.cometchat.com/docs/ui-kit/flutter/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.
19
-
20
- # CometChat Flutter UIKit — Users & Groups
21
-
22
- Components for displaying and managing users, groups, and group members.
23
-
24
- ## CometChatUsers
25
-
26
- Displays a searchable, alphabetically-sorted list of users.
27
-
28
- ```dart
29
- // MessagesScreen below is a user-defined wrapper around CometChatMessageHeader +
30
- // CometChatMessageList + CometChatMessageComposer (no CometChatMessages exists in v6) —
31
- // see the cometchat-flutter-v6-messages skill for the canonical pattern.
32
- CometChatUsers(
33
- onItemTap: (context, user) {
34
- Navigator.push(context, MaterialPageRoute(
35
- builder: (_) => MessagesScreen(user: user),
36
- ));
37
- },
38
- usersStyle: CometChatUsersStyle(
39
- backgroundColor: colorPalette.background1,
40
- ),
41
- usersStatusVisibility: true,
42
- showBackButton: true,
43
- onBack: () => Navigator.pop(context),
44
- )
45
- ```
46
-
47
- ### Custom Request Builder
48
-
49
- ```dart
50
- CometChatUsers(
51
- usersRequestBuilder: UsersRequestBuilder()
52
- ..limit = 30
53
- ..friendsOnly = true
54
- ..roles = ['default']
55
- ..searchKeyword = 'john',
56
- )
57
- ```
58
-
59
- ### View Slots
60
-
61
- ```dart
62
- CometChatUsers(
63
- listItemView: (user) => MyCustomUserItem(user),
64
- subtitleView: (context, user) => Text(user.status ?? 'offline'),
65
- trailingView: (context, user) => Icon(Icons.chat),
66
- )
67
- ```
68
-
69
- ## CometChatGroups
70
-
71
- Displays a searchable list of groups with type indicators (public/private/password).
72
-
73
- ```dart
74
- CometChatGroups(
75
- onItemTap: (context, group) {
76
- Navigator.push(context, MaterialPageRoute(
77
- builder: (_) => MessagesScreen(group: group),
78
- ));
79
- },
80
- groupsStyle: CometChatGroupsStyle(
81
- backgroundColor: colorPalette.background1,
82
- ),
83
- groupTypeVisibility: true,
84
- )
85
- ```
86
-
87
- ### Custom Request Builder
88
-
89
- ```dart
90
- CometChatGroups(
91
- groupsRequestBuilder: GroupsRequestBuilder()
92
- ..limit = 30
93
- ..joinedOnly = true
94
- ..searchKeyword = 'team'
95
- ..withTags = true
96
- ..tags = ['project'],
97
- )
98
- ```
99
-
100
- ## CometChatGroupMembers
101
-
102
- Displays members of a specific group with role indicators and management actions.
103
-
104
- ```dart
105
- CometChatGroupMembers(
106
- group: group,
107
- // ⚠️ Note: this prop is `style` (NOT `groupMembersStyle`) — the only
108
- // V6 list component that breaks the {component}Style naming convention.
109
- style: CometChatGroupMembersStyle(
110
- backgroundColor: colorPalette.background1,
111
- ),
112
- )
113
- ```
114
-
115
- ### Group Member Actions
116
-
117
- The component supports scope changes, kick, and ban based on the logged-in user's role:
118
-
119
- | Logged-in Role | Can Change Scope | Can Kick | Can Ban |
120
- |----------------|-----------------|----------|---------|
121
- | Owner | ✅ All members | ✅ All | ✅ All |
122
- | Admin | ✅ Participants only | ✅ Participants | ✅ Participants |
123
- | Participant | ❌ | ❌ | ❌ |
124
-
125
- ## Architecture (All Three)
126
-
127
- All follow the same Clean Architecture + BLoC pattern:
128
-
129
- ```
130
- {component}/
131
- ├── bloc/{component}_bloc.dart # State management + SDK listeners
132
- ├── domain/usecases/ # Get{Component}sUseCase, etc.
133
- ├── data/repositories/ # SDK wrapper
134
- ├── di/{component}_service_locator.dart # Singleton DI
135
- └── widgets/ # List item, empty/error/loading views
136
- ```
137
-
138
- ## BLoC State Pattern
139
-
140
- All three use the same state pattern:
141
-
142
- ```dart
143
- // Status-based states
144
- {Component}Initial → {Component}Loading → {Component}Loaded / {Component}Empty / {Component}Error
145
-
146
- // Loaded state has:
147
- final List<{Entity}> items;
148
- final bool hasMore;
149
- final Set<String> selectedItems; // For selection mode
150
- final bool isLoadingMore;
151
- ```
152
-
153
- ## Selection Mode
154
-
155
- All list components support selection:
156
-
157
- ```dart
158
- CometChatUsers(
159
- selectionMode: SelectionMode.multiple,
160
- // ⚠️ CometChatUsers.onSelection passes TWO args (List<User>?, BuildContext).
161
- // CometChatGroups.onSelection passes ONE (List<Group>?). The signatures differ.
162
- onSelection: (selectedUsers, context) {
163
- // Handle selected users
164
- },
165
- activateSelection: ActivateSelection.onLongClick,
166
- )
167
- ```
168
-
169
- ## Gotchas
170
-
171
- - `CometChatGroupMembers` has been fully migrated to BLoC + Clean Architecture (bloc/, data/, di/, domain/, widgets/). A `GroupMembersBlocAdapter` wraps the BLoC to implement the legacy `CometChatGroupMembersControllerProtocol` for backward compatibility. The old `cometchat_group_members_controller.dart` file still exists but the BLoC is the active implementation.
172
- - Group type icons (lock for private, shield for password) are controlled by `groupTypeVisibility`. Setting it to `false` hides all type indicators.
173
- - `friendsOnly: true` on `UsersRequestBuilder` only works if your CometChat plan supports the friends feature.
174
- - When a user is blocked, they still appear in `CometChatUsers` unless you set `includeBlockedUsers: false` on the conversations BLoC or filter in the request builder.
175
-
176
- ## Anti-Patterns
177
-
178
- ```dart
179
- // ❌ WRONG — not handling group join for password-protected groups
180
- onItemTap: (context, group) => Navigator.push(context, MaterialPageRoute(
181
- builder: (_) => MessagesScreen(group: group), // Fails if not joined
182
- ))
183
-
184
- // ✅ CORRECT — check membership, handle password groups
185
- onItemTap: (context, group) {
186
- if (group.hasJoined) {
187
- Navigator.push(context, MaterialPageRoute(
188
- builder: (_) => MessagesScreen(group: group),
189
- ));
190
- } else if (group.type == GroupTypeConstants.password) {
191
- Navigator.push(context, MaterialPageRoute(
192
- builder: (_) => JoinProtectedGroupScreen(group: group),
193
- ));
194
- } else {
195
- // Join public group first, then navigate
196
- }
197
- }
198
- ```
199
-
200
- ```dart
201
- // ❌ WRONG — hardcoded role check strings
202
- if (member.scope == 'admin') { ... }
203
-
204
- // ✅ CORRECT — use SDK constants
205
- if (member.scope == GroupMemberScope.admin) { ... }
206
- ```
207
-
208
- ```dart
209
- // ❌ WRONG — creating ServiceLocator per widget instance
210
- final locator = GroupsServiceLocator(); // New instance each time
211
-
212
- // ✅ CORRECT — use singleton
213
- final locator = GroupsServiceLocator.instance;
214
- locator.setup();
215
- ```
216
-
217
- ## Checklist
218
-
219
- - [ ] `onItemTap` handles group join state (joined vs password vs public)
220
- - [ ] Group member actions respect role hierarchy
221
- - [ ] Selection mode configured if multi-select needed
222
- - [ ] Request builder customized for app's user/group filtering needs
223
- - [ ] ServiceLocator accessed via `.instance` singleton
224
- - [ ] Colors from `CometChatThemeHelper`, not hardcoded
@@ -1,325 +0,0 @@
1
- ---
2
- name: cometchat-ios
3
- description: Entry-point for CometChat iOS UI Kit integration in any Swift/iOS project. Detects the project type, gathers requirements through an interactive conversation, and writes production-quality integration code for UIKit and SwiftUI applications.
4
- license: "MIT"
5
- metadata:
6
- author: "CometChat"
7
- version: "3.0.0"
8
- tags: "cometchat dispatcher entry ios swift uikit swiftui chat messaging"
9
- ---
10
-
11
- > **Ground truth:** `CometChatUIKitSwift ~> 5` (+ `CometChatCallsSDK ~> 5`) — Pods/SPM `.swiftinterface` + `ui-kit/ios`. **Official docs:** https://www.cometchat.com/docs/ui-kit/ios/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.
12
-
13
- ## Use this skill when
14
-
15
- The user wants to add CometChat to any iOS project. Trigger phrases:
16
-
17
- - `/cometchat` (or invoke the cometchat-ios skill via your agent's mechanism — keyword "cometchat" or "integrate chat" works in most agents)
18
- - "add cometchat", "integrate cometchat", "add chat to my app"
19
- - "add messaging", "add chat ui", "add in-app chat"
20
- - "integrate chat in ios", "add chat to swift app"
21
-
22
- This is the **entry point for iOS integration**. Do NOT invoke
23
- framework-specific skills directly — this dispatcher detects the
24
- project type first and routes to the right ones.
25
-
26
- **Supported project types:**
27
-
28
- | Type | Description |
29
- |---|---|
30
- | **UIKit** | Traditional UIKit-based iOS apps using Storyboards or programmatic UI |
31
- | **SwiftUI** | Modern SwiftUI-based iOS apps |
32
- | **Hybrid** | Apps using both UIKit and SwiftUI |
33
-
34
- The iOS UI Kit loads `CometChatUIKitSwift` via CocoaPods or Swift Package Manager, along with `CometChatSDK`.
35
-
36
- ## How this skill works
37
-
38
- This skill is **interactive and conversational**. You don't just detect
39
- the project type and dump code. You have a conversation with the developer
40
- to understand their project, their use case, and exactly where chat
41
- should go — THEN you write code that fits.
42
-
43
- **Pattern skills (loaded from your context):**
44
- - `cometchat-ios-core` — initialization, login, provider pattern, anti-patterns
45
- - `cometchat-ios-components` — component catalog, props, composition patterns
46
- - `cometchat-ios-placement` — WHERE to put chat (navigation, tabs, modals)
47
- - `cometchat-ios-theming` — customizing colors, fonts, and styles
48
- - `cometchat-ios-customization` — custom views, templates, formatters
49
-
50
- **Key principle: ask, don't assume.** Every piece of information you need
51
- from the user should be asked explicitly. Don't guess the view controller,
52
- don't guess where the trigger button goes, don't guess the auth system.
53
-
54
- ## Steps
55
-
56
- ### Step 1 — Detect project type + map the project
57
-
58
- First, check for iOS project indicators:
59
-
60
- **Detection checklist:**
61
- 1. Look for `.xcodeproj` or `.xcworkspace` files
62
- 2. Check for `Podfile` (CocoaPods), `Package.swift` (SPM as a package), or SPM dep refs in `*.xcodeproj/project.pbxproj` (SPM via Xcode GUI)
63
- 3. Read `Info.plist` for app configuration
64
- 4. Check for SwiftUI indicators (`@main App`, `ContentView.swift`)
65
- 5. Check for UIKit indicators (`AppDelegate.swift`, `SceneDelegate.swift`, Storyboards)
66
-
67
- **If the project has NO `Podfile`, NO `Package.swift`, AND no SPM refs in the .xcodeproj** (the default state of every freshly Xcode-created `File → New → App` project), STOP. You must establish a dependency-management mechanism before touching integration code. Read `cometchat-ios-core` § 1.0 for the two options (CocoaPods script-able, SPM Xcode-GUI) and complete that step first. Skipping this produces an integration with `import CometChatUIKitSwift` that cannot resolve at build time.
68
-
69
- **Then read the project yourself — this is critical.**
70
-
71
- - `Podfile`, `Package.swift`, or SPM refs in `*.xcodeproj/project.pbxproj` — existing dependencies
72
- - The source directory structure — list all directories under the project
73
- - Find the entry point: `AppDelegate.swift`, `SceneDelegate.swift`, or `@main App`
74
- - Find existing view controllers or SwiftUI views
75
- - Find the navigation structure: `UINavigationController`, `UITabBarController`, `NavigationStack`
76
-
77
- Store this mental map — you'll use it throughout the conversation.
78
-
79
- **Compatibility baselines:**
80
- - iOS 13+ required for CometChat UI Kit (CometChatSDK floor is iOS 11)
81
- - **iOS 16+ required if you use calling** — `CometChatCallsSDK` 5.x has a deployment target of iOS 16.0; a project targeting iOS 13 will fail to link the Calls SDK
82
- - Swift 5.0+ required
83
- - Xcode 14+ recommended
84
-
85
- ### Step 2 — Set up credentials (onboarding)
86
-
87
- **Ask the user for their CometChat credentials:**
88
-
89
- Ask the user (preserve this exact shape — `question`, `header`, `multiSelect`, `options[].label`, `options[].description` — agents have varying primitive names but all support this structured form):
90
- - **question:** "Let's set up CometChat. Do you have your credentials?"
91
- - **header:** "CometChat Setup"
92
- - **multiSelect:** false
93
- - **options:**
94
- 1. label: "I have my App ID, Region, and Auth Key", description: "I'll paste them now"
95
- 2. label: "I need to create a CometChat account", description: "Guide me to get credentials"
96
- 3. label: "I'll set them up later", description: "Just show me the integration code"
97
-
98
- **If they have credentials:**
99
- Ask for:
100
- 1. App ID (from CometChat Dashboard)
101
- 2. Region (`us`, `eu`, or `in`)
102
- 3. Auth Key (for development mode)
103
-
104
- **If they need to create an account:**
105
- Direct them to:
106
- > "Create a free account at https://app.cometchat.com
107
- > 1. Sign up and create a new app
108
- > 2. Go to API & Auth Keys section
109
- > 3. Copy your App ID, Region, and Auth Key
110
- > Tell me when you have them."
111
-
112
- ### Step 3 — Interactive requirements gathering
113
-
114
- #### 3a. "What are you building?"
115
-
116
- Ask the user (preserve the structured shape — `question`/`header`/`multiSelect`/`options[].label`/`options[].description`):
117
- - **question:** "What kind of app are you building?"
118
- - **header:** "Your app"
119
- - **multiSelect:** false
120
- - **options:**
121
- 1. label: "Messaging app", description: "Chat is the main feature — like WhatsApp, Telegram, or iMessage"
122
- 2. label: "Marketplace or platform", description: "Buyers and sellers communicate — like Airbnb or eBay"
123
- 3. label: "SaaS or productivity", description: "Team chat or support chat inside a product"
124
- 4. label: "Social or community", description: "User profiles with messaging — like a dating app or community"
125
- 5. label: "Support or helpdesk", description: "Customer-to-agent communication"
126
- 6. label: "Just exploring", description: "Quick demo — fastest path to see chat working"
127
-
128
- **If "Just exploring":** Skip the rest of Step 3 and scaffold the minimal integration — one view controller showing `CometChatConversations` with `cometchat-uid-1` pre-logged-in.
129
-
130
- #### 3b. Show what you recommend and why
131
-
132
- | Intent | What you'll set up |
133
- |---|---|
134
- | **Messaging app** | A dedicated messages tab with conversation list + message view |
135
- | **Marketplace** | A "Chat with seller" button on product screens + an inbox tab |
136
- | **SaaS / dashboard** | A chat modal triggered from navigation + a messages section |
137
- | **Social / community** | A full messenger with tabs: Chats, Calls, Users, Groups |
138
- | **Support** | A floating chat button that opens a support conversation |
139
-
140
- Ask: "Does this sound right, or do you want a different approach?"
141
-
142
- #### 3c. Ask where things should go
143
-
144
- **Show the user their actual project structure** — list the view controllers/views you found in Step 1.
145
-
146
- **For UIKit projects:**
147
- > "I found these view controllers in your project:
148
- > - MainViewController
149
- > - ProfileViewController
150
- > - SettingsViewController
151
- >
152
- > Where should the messages screen be accessible from?"
153
-
154
- **For SwiftUI projects:**
155
- > "I found these views in your project:
156
- > - ContentView
157
- > - HomeView
158
- > - ProfileView
159
- >
160
- > Where should the messages view be accessible from?"
161
-
162
- #### 3d. Detect and ask about authentication
163
-
164
- Look for auth libraries in the project:
165
- - `FirebaseAuth` → Firebase Authentication
166
- - `AuthenticationServices` → Sign in with Apple
167
- - `GoogleSignIn` → Google Sign-In
168
- - Custom auth patterns
169
-
170
- Report what you found and ask:
171
-
172
- If auth detected:
173
- > "I see you're using [Firebase Auth / etc.]. Here's how CometChat will work:
174
- >
175
- > - **Development (now):** I'll use CometChat's Auth Key for quick testing
176
- > - **Production (later):** Your server will mint per-user auth tokens
177
- >
178
- > Start with dev mode for now?"
179
-
180
- If no auth detected:
181
- > "I don't see an authentication system yet. For now, I'll set up CometChat
182
- > with a hardcoded test user (cometchat-uid-1).
183
- >
184
- > When you add auth later, you can connect them."
185
-
186
- #### 3e. Confirm the plan
187
-
188
- **Show EXACTLY what you'll do before doing it:**
189
-
190
- > "Here's what I'll create:
191
- >
192
- > **New files:**
193
- > - `CometChatManager.swift` — initialization and login handling
194
- > - `ChatViewController.swift` — main chat interface
195
- >
196
- > **Files I'll modify:**
197
- > - `AppDelegate.swift` — add CometChat initialization
198
- > - `MainViewController.swift` — add navigation to chat
199
- >
200
- > **Dependencies:** CometChatUIKitSwift, CometChatSDK
201
- >
202
- > **Auth mode:** Development (Auth Key)
203
- >
204
- > Proceed? [y/n]"
205
-
206
- Wait for explicit confirmation.
207
-
208
- ### Step 4 — Reference pattern skills
209
-
210
- **All skills are already loaded in your context.** Read and follow them directly:
211
-
212
- 1. `cometchat-ios-core` — initialization, login, provider pattern
213
- 2. `cometchat-ios-components` — component catalog, composition patterns
214
- 3. `cometchat-ios-placement` — placement pattern for the chosen approach
215
- 4. `cometchat-ios-theming` — if customization is needed
216
-
217
- ### Step 5 — Write the integration
218
-
219
- Execute the confirmed plan:
220
-
221
- 1. **Add dependencies** — CocoaPods or SPM
222
- 2. **CometChatManager** — singleton for init/login
223
- 3. **Chat UI** — appropriate components for the use case
224
- 4. **Wire into existing project** — READ each file before modifying
225
- 5. **Environment setup** — credentials configuration
226
-
227
- ### Step 6 — Verify + show result
228
-
229
- After writing code:
230
-
231
- 1. Verify the project builds
232
- 2. Check for any missing imports
233
- 3. Surface any common issues
234
-
235
- **Result message:**
236
- > "CometChat is integrated! Here's what was set up:
237
- >
238
- > - CometChatManager.swift ✓
239
- > - ChatViewController.swift ✓
240
- > - Dependencies added ✓
241
- >
242
- > Next steps:
243
- > 1. Run `pod install` (if using CocoaPods)
244
- > 2. Build and run the app
245
- > 3. Navigate to the chat screen
246
- >
247
- > **About the empty conversation list:**
248
- > Every CometChat app has 5 pre-created test users: `cometchat-uid-1` through `uid-5`.
249
- > To see chat working:
250
- > 1. Open https://app.cometchat.com → your app → Users
251
- > 2. Send a message from `cometchat-uid-2` to `cometchat-uid-1`
252
- > 3. Refresh the app to see the conversation"
253
-
254
- ### Step 7 — Iteration menu
255
-
256
- Ask the user (preserve the structured shape — `question`/`header`/`options[].label`/`options[].description`):
257
- - **question:** "What would you like to do next?"
258
- - **header:** "Next step"
259
- - **options:**
260
- 1. label: "Customize look and feel", description: "Change colors, fonts, and styles"
261
- 2. label: "Add a feature", description: "Calls, reactions, polls, AI features"
262
- 3. label: "Customize a component", description: "Custom message bubbles, headers, etc."
263
- 4. label: "Set up push notifications", description: "APNs setup for message notifications"
264
- 5. label: "Set up production auth", description: "Replace dev Auth Key with server tokens"
265
- 6. label: "Troubleshoot an issue", description: "Debug common problems"
266
- 7. label: "I'm done", description: "Exit"
267
-
268
- ## Hard rules
269
-
270
- ### Always
271
-
272
- - **Ask, don't assume.** Every integration decision should be confirmed.
273
- - **Always detect project type first.** Do not assume UIKit or SwiftUI.
274
- - NEVER replace existing project files unless the user explicitly confirms.
275
- - ALWAYS read existing files before modifying them.
276
- - ALWAYS show the plan and get confirmation before writing.
277
- - For component names and properties, use the `cometchat-ios-components` skill — never invent from training data.
278
-
279
- ### iOS-specific
280
-
281
- - **Initialize CometChat in AppDelegate or App init** — before any UI renders
282
- - **Use the singleton pattern** for CometChatManager
283
- - **Handle async initialization properly** — don't show chat UI until init completes
284
- - **Respect iOS lifecycle** — handle background/foreground transitions
285
- - **Support both light and dark mode** — use CometChatTheme
286
-
287
- ## Error handling
288
-
289
- Common iOS integration errors:
290
-
291
- | Error | Cause | Solution |
292
- |---|---|---|
293
- | "CometChat is not initialized" | UI shown before init completes | Use completion handler pattern |
294
- | "Invalid App ID" | Wrong credentials | Verify App ID in dashboard |
295
- | "Module not found" | Dependencies not installed | Run `pod install` or add SPM package |
296
- | Build errors | Missing imports | Add `import CometChatUIKitSwift` |
297
-
298
- ## Skill routing reference
299
-
300
- | Skill | When to load |
301
- |---|---|
302
- | `cometchat-ios-core` | Always — before any integration code |
303
- | `cometchat-ios-components` | Always — before writing component code |
304
- | `cometchat-ios-placement` | When integrating — for placement patterns |
305
- | `cometchat-ios-theming` | When customizing themes |
306
- | `cometchat-ios-customization` | When writing custom views or templates |
307
- | `cometchat-ios-features` | When adding calls, reactions, polls, AI features |
308
- | `cometchat-ios-push` | When setting up push notifications |
309
- | `cometchat-ios-production` | When setting up production auth |
310
- | `cometchat-ios-troubleshooting` | When diagnosing problems |
311
-
312
- ## Complete Skill Set
313
-
314
- This iOS UI Kit skill set includes 9 comprehensive skills:
315
-
316
- 1. **cometchat-ios** (this file) — Entry-point dispatcher
317
- 2. **cometchat-ios-core** — Initialization, login, manager pattern
318
- 3. **cometchat-ios-components** — Complete component catalog
319
- 4. **cometchat-ios-placement** — Navigation patterns, tabs, modals
320
- 5. **cometchat-ios-theming** — Colors, fonts, dark mode
321
- 6. **cometchat-ios-customization** — Custom views, templates, formatters
322
- 7. **cometchat-ios-features** — Calls, reactions, polls, AI, extensions
323
- 8. **cometchat-ios-push** — Push notifications setup
324
- 9. **cometchat-ios-production** — Server-side auth, security
325
- 10. **cometchat-ios-troubleshooting** — Common issues and debugging