{"id":"c90c30bf-a9a0-4b5c-b1cd-501262ede353","shortId":"nAbvQc","kind":"skill","title":"cometchat-android-v6","tagline":"Entry-point dispatcher for CometChat Android UIKit v6 — routes to the correct skill based on project stack and task","description":"> **Companion skills:** cometchat-android-v6-core, cometchat-android-v6-events, cometchat-android-v6-kotlin-components, cometchat-android-v6-compose-components, cometchat-android-v6-kotlin-theming, cometchat-android-v6-compose-theming, cometchat-android-v6-kotlin-customization, cometchat-android-v6-compose-customization, cometchat-android-v6-kotlin-placement, cometchat-android-v6-compose-placement, cometchat-android-v6-builder-settings, cometchat-android-v6-features, cometchat-android-v6-extensions, cometchat-android-v6-push, cometchat-android-v6-production, cometchat-android-v6-troubleshooting, cometchat-android-v6-testing\n\n## Purpose\n\nThis is the entry-point skill for the CometChat Android UIKit v6. It detects the project's UI stack (Kotlin Views, Jetpack Compose, or both) and routes to the correct specialized skill.\n\n## Use this skill when\n\n- The user mentions \"CometChat\" in an Android/Kotlin project\n- The user wants to add chat, messaging, or calling features to an Android app\n- You need to determine which CometChat skill to activate\n- The user asks a general CometChat question without specifying a stack\n\n## Do not use this skill when\n\n- You already know which specific skill to use (go directly to it)\n- The project is React, React Native, iOS, Flutter, or Web (this skill is Android-only)\n\n## 1. Project Detection\n\nDetect the UI stack by inspecting the project's Gradle files:\n\n```kotlin\n// Check build.gradle.kts or build.gradle for dependencies:\n\n// Jetpack Compose stack\nimplementation(\"com.cometchat:chatuikit-compose-android:6.x\")\n\n// Kotlin Views stack\nimplementation(\"com.cometchat:chatuikit-kotlin-android:6.x\")\n\n// Core only (shared module, no UI)\nimplementation(\"com.cometchat:chatuikit-core-android:6.x\")\n```\n\nAlso check for module includes in `settings.gradle`:\n- `:chatuikit-compose` → Compose stack\n- `:chatuikit-kotlin` → Kotlin Views stack\n- `:chatuikit-core` → Core module\n\n## 2. Architecture Overview\n\nv6 uses a 3-module architecture:\n\n| Module | Package | Purpose |\n|---|---|---|\n| `chatuikit-core` | `com.cometchat.uikit.core` | Shared: init, login, ViewModels, events, data layer |\n| `chatuikit-kotlin` | `com.cometchat.uikit.kotlin` | Kotlin Views UI: custom Views, RecyclerView, XML themes |\n| `chatuikit-compose` | `com.cometchat.uikit.compose` | Compose UI: @Composable functions, CompositionLocal themes |\n\nBoth UI modules depend on `chatuikit-core`. The core module holds all business logic.\n\n## 3. Routing Table\n\n| User wants to... | Route to skill |\n|---|---|\n| Add CometChat to a project / Gradle setup | `cometchat-android-v6-core` |\n| Initialize the SDK / login / logout | `cometchat-android-v6-core` |\n| Configure UIKitSettings in detail | `cometchat-android-v6-builder-settings` |\n| Use a component (Kotlin Views) | `cometchat-android-v6-kotlin-components` |\n| Use a component (Jetpack Compose) | `cometchat-android-v6-compose-components` |\n| Place components in Activities/Fragments | `cometchat-android-v6-kotlin-placement` |\n| Place components in Compose screens | `cometchat-android-v6-compose-placement` |\n| Change colors/fonts (Kotlin Views) | `cometchat-android-v6-kotlin-theming` |\n| Change colors/fonts (Compose) | `cometchat-android-v6-compose-theming` |\n| Customize bubble rendering (Kotlin Views) | `cometchat-android-v6-kotlin-customization` |\n| Customize bubble rendering (Compose) | `cometchat-android-v6-compose-customization` |\n| Use AI features, reactions, polls, stickers | `cometchat-android-v6-features` |\n| Extend with custom DataSources / message types | `cometchat-android-v6-extensions` |\n| Listen to chat/call/user events | `cometchat-android-v6-events` |\n| Add push notifications / FCM / VoIP | `cometchat-android-v6-push` |\n| Prepare for production release | `cometchat-android-v6-production` |\n| Debug issues | `cometchat-android-v6-troubleshooting` |\n| Write tests | `cometchat-android-v6-testing` |\n\n## 4. Quick-Start Decision Tree\n\n1. **New project?** → `cometchat-android-v6-core` (Gradle setup + init)\n2. **Which UI stack?**\n   - Jetpack Compose → `cometchat-compose-*` skills\n   - Kotlin Views (XML layouts) → `cometchat-kotlin-*` skills\n   - Both → Use the appropriate stack-specific skill for each task\n3. **What task?**\n   - Show a component → `*-components`\n   - Style/theme → `*-theming`\n   - Customize bubbles → `*-customization`\n   - Place in navigation → `*-placement`\n\n## Hard rules\n\n- ALWAYS detect the project stack before routing to a stack-specific skill\n- NEVER mix Kotlin Views APIs with Compose APIs in the same code example\n- NEVER reference v5 Java UIKit APIs — v6 is Kotlin-only\n- When both stacks are present, ask the user which stack they're working with before proceeding\n- Route to the most specific skill possible — don't try to answer from this dispatcher skill","tags":["cometchat","android","skills","agent-skills","ai-agent","chat","claude-code","cursor","messaging","nextjs","react","react-native"],"capabilities":["skill","source-cometchat","skill-cometchat-android-v6","topic-agent-skills","topic-ai-agent","topic-chat","topic-claude-code","topic-cometchat","topic-cursor","topic-messaging","topic-nextjs","topic-react","topic-react-native","topic-ui-kit"],"categories":["cometchat-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/cometchat/cometchat-skills/cometchat-android-v6","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add cometchat/cometchat-skills","source_repo":"https://github.com/cometchat/cometchat-skills","install_from":"skills.sh"}},"qualityScore":"0.463","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 27 github stars · SKILL.md body (4,779 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:04:47.652Z","embedding":null,"createdAt":"2026-05-07T13:05:07.021Z","updatedAt":"2026-05-18T19:04:47.652Z","lastSeenAt":"2026-05-18T19:04:47.652Z","tsv":"'1':235,569 '2':315,580 '3':321,375,609 '4':563 '6':265,276,290 'activ':189 'activities/fragments':441 'add':171,384,530 'ai':500 'alreadi':208 'also':292 'alway':627 'android':3,11,29,34,39,45,51,57,63,69,75,81,87,93,98,103,108,113,118,132,179,233,264,275,289,393,403,412,423,434,444,455,465,474,485,495,507,518,527,537,546,553,560,574 'android-on':232 'android/kotlin':165 'answer':691 'api':644,647,658 'app':180 'appropri':601 'architectur':316,323 'ask':192,669 'base':19 'bubbl':479,490,619 'build.gradle':253 'build.gradle.kts':251 'builder':89,414 'busi':373 'call':175 'chang':459,469 'chat':172 'chat/call/user':523 'chatuikit':262,273,287,300,305,311,328,339,351,366 'chatuikit-compos':299,350 'chatuikit-compose-android':261 'chatuikit-cor':310,327,365 'chatuikit-core-android':286 'chatuikit-kotlin':304,338 'chatuikit-kotlin-android':272 'check':250,293 'code':651 'colors/fonts':460,470 'com.cometchat':260,271,285 'com.cometchat.uikit.compose':353 'com.cometchat.uikit.core':330 'com.cometchat.uikit.kotlin':341 'cometchat':2,10,28,33,38,44,50,56,62,68,74,80,86,92,97,102,107,112,117,131,162,186,195,385,392,402,411,422,433,443,454,464,473,484,494,506,517,526,536,545,552,559,573,587,595 'cometchat-android-v6':1 'cometchat-android-v6-builder-settings':85,410 'cometchat-android-v6-compose-components':43,432 'cometchat-android-v6-compose-customization':67,493 'cometchat-android-v6-compose-placement':79,453 'cometchat-android-v6-compose-theming':55,472 'cometchat-android-v6-core':27,391,401,572 'cometchat-android-v6-events':32,525 'cometchat-android-v6-extensions':96,516 'cometchat-android-v6-features':91,505 'cometchat-android-v6-kotlin-components':37,421 'cometchat-android-v6-kotlin-customization':61,483 'cometchat-android-v6-kotlin-placement':73,442 'cometchat-android-v6-kotlin-theming':49,463 'cometchat-android-v6-production':106,544 'cometchat-android-v6-push':101,535 'cometchat-android-v6-testing':116,558 'cometchat-android-v6-troubleshooting':111,551 'cometchat-compos':586 'cometchat-kotlin':594 'companion':25 'compon':42,48,418,426,429,437,439,449,614,615 'compos':47,59,71,83,145,257,263,301,302,352,354,356,431,436,451,457,471,476,492,497,585,588,646 'compositionloc':358 'configur':406 'core':31,278,288,312,313,329,367,369,395,405,576 'correct':17,152 'custom':66,72,345,478,488,489,498,512,618,620 'data':336 'datasourc':513 'debug':549 'decis':567 'depend':255,363 'detail':409 'detect':136,237,238,628 'determin':184 'direct':216 'dispatch':8,694 'entri':6,126 'entry-point':5,125 'event':36,335,524,529 'exampl':652 'extend':510 'extens':100,520 'fcm':533 'featur':95,176,501,509 'file':248 'flutter':226 'function':357 'general':194 'go':215 'gradl':247,389,577 'hard':625 'hold':371 'implement':259,270,284 'includ':296 'init':332,579 'initi':396 'inspect':243 'io':225 'issu':550 'java':656 'jetpack':144,256,430,584 'know':209 'kotlin':41,53,65,77,142,249,267,274,306,307,340,342,419,425,446,461,467,481,487,590,596,642,662 'kotlin-on':661 'layer':337 'layout':593 'listen':521 'logic':374 'login':333,399 'logout':400 'mention':161 'messag':173,514 'mix':641 'modul':281,295,314,322,324,362,370 'nativ':224 'navig':623 'need':182 'never':640,653 'new':570 'notif':532 'overview':317 'packag':325 'place':438,448,621 'placement':78,84,447,458,624 'point':7,127 'poll':503 'possibl':686 'prepar':540 'present':668 'proceed':679 'product':110,542,548 'project':21,138,166,220,236,245,388,571,630 'purpos':121,326 'push':105,531,539 'question':196 'quick':565 'quick-start':564 're':675 'react':222,223 'reaction':502 'recyclerview':347 'refer':654 'releas':543 'render':480,491 'rout':14,149,376,381,633,680 'rule':626 'screen':452 'sdk':398 'set':90,415 'settings.gradle':298 'setup':390,578 'share':280,331 'show':612 'skill':18,26,128,154,157,187,205,212,230,383,589,597,605,639,685,695 'skill-cometchat-android-v6' 'source-cometchat' 'special':153 'specif':211,604,638,684 'specifi':198 'stack':22,141,200,241,258,269,303,309,583,603,631,637,666,673 'stack-specif':602,636 'start':566 'sticker':504 'style/theme':616 'tabl':377 'task':24,608,611 'test':120,557,562 'theme':54,60,349,359,468,477,617 'topic-agent-skills' 'topic-ai-agent' 'topic-chat' 'topic-claude-code' 'topic-cometchat' 'topic-cursor' 'topic-messaging' 'topic-nextjs' 'topic-react' 'topic-react-native' 'topic-ui-kit' 'tree':568 'tri':689 'troubleshoot':115,555 'type':515 'ui':140,240,283,344,355,361,582 'uikit':12,133,657 'uikitset':407 'use':155,203,214,319,416,427,499,599 'user':160,168,191,378,671 'v5':655 'v6':4,13,30,35,40,46,52,58,64,70,76,82,88,94,99,104,109,114,119,134,318,394,404,413,424,435,445,456,466,475,486,496,508,519,528,538,547,554,561,575,659 'view':143,268,308,343,346,420,462,482,591,643 'viewmodel':334 'voip':534 'want':169,379 'web':228 'without':197 'work':676 'write':556 'x':266,277,291 'xml':348,592","prices":[{"id":"bf10ce49-eecc-4663-8db4-962505c01628","listingId":"c90c30bf-a9a0-4b5c-b1cd-501262ede353","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"cometchat","category":"cometchat-skills","install_from":"skills.sh"},"createdAt":"2026-05-07T13:05:07.021Z"}],"sources":[{"listingId":"c90c30bf-a9a0-4b5c-b1cd-501262ede353","source":"github","sourceId":"cometchat/cometchat-skills/cometchat-android-v6","sourceUrl":"https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-android-v6","isPrimary":false,"firstSeenAt":"2026-05-07T13:05:07.021Z","lastSeenAt":"2026-05-18T19:04:47.652Z"}],"details":{"listingId":"c90c30bf-a9a0-4b5c-b1cd-501262ede353","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"cometchat","slug":"cometchat-android-v6","github":{"repo":"cometchat/cometchat-skills","stars":27,"topics":["agent-skills","ai-agent","chat","claude-code","cometchat","cursor","messaging","nextjs","react","react-native","ui-kit"],"license":null,"html_url":"https://github.com/cometchat/cometchat-skills","pushed_at":"2026-05-18T05:04:24Z","description":"Add CometChat chat to any React, Next.js, React Native, Angular, Android, iOS, or Flutter project through your AI coding agent. Works with Claude Code, Cursor, Codex, VS Code Copilot, Windsurf, Cline, Kiro, and 50+ more agents.","skill_md_sha":"c9aee8212b57320ed528c14eacbaf4f4376807bd","skill_md_path":"skills/cometchat-android-v6/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-android-v6"},"layout":"multi","source":"github","category":"cometchat-skills","frontmatter":{"name":"cometchat-android-v6","license":"MIT","description":"Entry-point dispatcher for CometChat Android UIKit v6 — routes to the correct skill based on project stack and task","compatibility":"Android 9.0+ (API 28); Kotlin 1.9+; com.cometchat:chatuikit-compose-android:6.x / com.cometchat:chatuikit-kotlin-android:6.x"},"skills_sh_url":"https://skills.sh/cometchat/cometchat-skills/cometchat-android-v6"},"updatedAt":"2026-05-18T19:04:47.652Z"}}