[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MF65DF4MPV2C12APWE7WN4":3,"skill-same:01M6MF65DF4MPV2C12APWE7WN4":74},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":55,"ownerHtmlUrl":56,"ownerBlogUrl":57,"ownerDescription":58,"updatedAt":59,"install":60,"resources":73},"01M6MF65DF4MPV2C12APWE7WN4","cometchat-android-v6-troubleshooting",null,"Diagnose a broken CometChat Android v6 integration — dependency and version conflicts, init\u002Flogin failures, blank or stuck screens, empty lists, missing realtime updates, keyboard\u002Finset layout bugs, release-only crashes, permission and push problems — with a symptom → cause → fix path and what evidence to collect before escalating. Triggers: 'cometchat android not working', 'could not find com.cometchat', 'chat screen is blank android', 'messages not arriving in real time android', 'composer hidden by keyboard'.","hashgraph-online\u002Fawesome-codex-plugins","hashgraph-online","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F160371962?v=4","01M6CNB6NRJVNNGN14TR01Q6D3","HOL (Hashgraph Online)","01M6JT1HSKKG9V68KQAQGBA7XP",1554,"MIT","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fcometchat\u002Fcometchat-skills\u002Fskills\u002Fcometchat-android-v6-troubleshooting\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"cometchat","cometchat android v6 troubleshooting","troubleshooting","android","time","login","updates","errors","composer","screen","keyboard","layout","jvm","conflicts","dependency","only","fix","broken","messages","debugging","init","2026-11-10 10:12:30",false,"---\nname: cometchat-android-v6-troubleshooting\ndescription: \"Diagnose a broken CometChat Android v6 integration — dependency and version conflicts, init\u002Flogin failures, blank or stuck screens, empty lists, missing realtime updates, keyboard\u002Finset layout bugs, release-only crashes, permission and push problems — with a symptom → cause → fix path and what evidence to collect before escalating. Triggers: 'cometchat android not working', 'could not find com.cometchat', 'chat screen is blank android', 'messages not arriving in real time android', 'composer hidden by keyboard'.\"\nlicense: \"MIT\"\ncompatibility: \"Android minSdk >=28; compileSdk >=36; Kotlin >=2.1; AGP >=8.9.1; JVM target 11; com.cometchat:chatuikit-kotlin-android ^6 OR com.cometchat:chatuikit-compose-android ^6 (6.0.x, verified 6.0.5); com.cometchat:chat-sdk-android ^5\"\nmetadata:\n  author: \"CometChat\"\n  version: \"1.0.0\"\n  tags: \"cometchat android troubleshooting v6 diagnostics errors debugging\"\n---\n\n> **Ground truth:** catalog `android-v6.json` + the kit's real error codes (`ERR_SETTINGS_FILE_NOT_FOUND`, `ERR_SETTINGS_INVALID`, `CometChatException.code\u002Fmessage`) + the live page `\u002Fui-kit\u002Fandroid\u002Ftroubleshooting`. This skill goes DEEPER than `core\u002Freferences\u002Ftroubleshooting.md` (the quick table) — read that first for the common four; come here for the full path and for escalation.\n\n## Companion skills (read first)\n- `cometchat-android-v6-core` — install, credentials, `initFromSettings → login → render`, **`references\u002Ftroubleshooting.md`** (the first-stop table), `references\u002Fanti-patterns.md`, `references\u002Flayout.md`. Assumed here, never repeated.\n\n## Use this skill when\n\"it doesn't work\", \"the build fails\", \"the chat screen is blank\u002Fstuck\", \"messages don't arrive until I reopen\", \"the composer is under the keyboard\", \"it works in debug but crashes in release\", \"calls\u002Fpush don't work\" — and you need a systematic path, not a guess.\n\n## Diagnostics entry — run these three, in order, before theorizing\n1. **Does it BUILD?** `.\u002Fgradlew :app:assembleDebug`. Dependency-resolution and duplicate-class failures are config, not code.\n2. **What does LOGCAT say at startup?** Filter for `CometChat`. You are looking for exactly two things: init's `onSuccess`\u002F`onError`, then login's `onSuccess`\u002F`onError`. **Almost every \"nothing works\" report is one of these two failing and being swallowed** — if your callbacks don't log `e.code` + `e.message`, fix that first; an empty `onError {}` is the bug.\n3. **What's the SESSION state?** `CometChatUIKit.getLoggedInUser()` — null after a \"successful\" login means login didn't actually complete.\n\n## Symptom → root cause → fix\n**Build \u002F dependencies**\n| Symptom | Cause | Fix |\n|---|---|---|\n| `Could not find com.cometchat:chatuikit-…` | CometChat Maven repo missing | add `maven(\"https:\u002F\u002Fdl.cloudsmith.io\u002Fpublic\u002Fcometchat\u002Fcometchat\u002Fmaven\u002F\")` to `settings.gradle(.kts)` `dependencyResolutionManagement.repositories` |\n| **`sendMessage` returns `onSuccess` but the message NEVER arrives** (receiver connected, listener registered) | a Dashboard **moderation rule blocked it server-side** — the send genuinely succeeded, so no client error is raised. The UI Kit surfaces \"Your message was blocked due to moderation policies\"; a headless build sees nothing at all | Dashboard → **Moderation** → check rules\u002Flists. Do NOT chase INTERNET permission or connection status — both are healthy in this case |\n| `Duplicate class android.support.v4.*` (jetifier off) **or** `contains AndroidX dependencies, but the 'android.useAndroidX' property is not enabled` (useAndroidX off) — on a **clean, single-cohort** app | NOT a version conflict. `chat-sdk-android` pulls a pre-AndroidX transitive (`android.arch.lifecycle:extensions` → `com.android.support:support-compat:26.1.0`) that collides with `androidx.core` | set BOTH in `gradle.properties`: `android.useAndroidX=true` + `android.enableJetifier=true` (verified on a clean app; removing either reproduces it) |\n| `Duplicate class org.jetbrains.annotations.*` at dexing | `io.noties:prism4j` pulls `annotations-java5:17` vs `annotations:23` | `configurations.all { exclude(group = \"org.jetbrains\", module = \"annotations-java5\") }` |\n| **`Execution failed for JetifyTransform: react-android-*.aar`** at `checkDebugAarMetadata` — appears only AFTER adding **calling** | `calls-sdk-android` 5.0.x bundles a React-Native stack (`react-android`\u002F`hermes`\u002F`react-native-webrtc`) that Jetifier can't transform, and `core` mandates `android.enableJetifier=true` for the Chat SDK's pre-AndroidX transitive — so the two collide the moment calling is added | add to `gradle.properties`: `android.jetifier.ignorelist=react-android,hermes-android,react-native-webrtc` (they're already AndroidX). See `cometchat-android-v6-calls` |\n| `requires Android Gradle plugin 8.9.1 or higher` | AGP floor is **8.9.1**, not 8.9 | bump AGP |\n| `kotlin-stdlib … metadata is 2.2.0, expected 2.0.0` \u002F internal compiler error | Kotlin floor is **2.1+**; 2.0.21 fails | bump Kotlin |\n| Duplicate class \u002F conflicting versions | **version_conflict**: a v4\u002Fv5 `chat-uikit-android` alongside v6 `chatuikit-*` | remove the old artifact — never mix majors; migrate via `cometchat-android-v6-migration` |\n| Odd theme\u002Fduplicate UI, two kits resolve | both cohorts (`chatuikit-kotlin-android` AND `chatuikit-compose-android`) in one module | pick ONE cohort |\n| `Unsupported class file major version` \u002F Kotlin errors | JVM target mismatch | JVM 11: `compileOptions` + `kotlin { compilerOptions { jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11) } }` (fully-qualified — a mid-file `import` breaks a `.kts`; the `kotlinOptions{}` DSL is deprecated\u002Fremoved on Kotlin 2.2+) |\n\n**Init \u002F login**\n| Symptom | Cause | Fix |\n|---|---|---|\n| `ERR_SETTINGS_FILE_NOT_FOUND` | no `app\u002Fsrc\u002Fmain\u002Fassets\u002Fcometchat-settings.json` | create it (`core` §4); confirm it's in `assets\u002F`, not `res\u002F` |\n| `ERR_SETTINGS_INVALID` | `appId` or `region` missing\u002Fempty in that JSON | fill both |\n| init `onError` about app\u002Fauth | wrong **Region** (most common) or wrong App ID | match the Dashboard exactly (`us`\u002F`eu`\u002F`in`) |\n| login `onError` ERR_UID_NOT_FOUND | the UID doesn't exist in this app | use a real user from Dashboard → Users (fresh apps seed `cometchat-uid-1…`), or create it server-side |\n| login \"fails silently\" \u002F nothing happens | **login called before init resolved** (docs warning) | call login only inside init's `onSuccess` |\n| login error on an already-logged-in user | re-login without logout | guard with `getLoggedInUser() != null`; to switch users, `logout` first |\n| Auth works debug, fails release | release build has no Auth Key but still uses `login(uid)` | use `loginWithAuthToken` (→ `cometchat-android-v6-production`) |\n\n**Blank \u002F empty \u002F stuck UI**\n| Symptom | Cause | Fix |\n|---|---|---|\n| Splash never advances | the gate never unlocks because an `onError` is swallowed | log + render errors; never leave `onError` empty |\n| Chat screen blank\u002Fwhite | UI rendered before login resolved | gate the UI on login success |\n| Component renders as a sliver \u002F crammed | `wrap_content` or an unsized parent — the kit fills its parent | `match_parent`\u002F`0dp`+weight (Views) or `fillMaxSize()`\u002F`weight(1f)` (Compose) — `core\u002Freferences\u002Flayout.md` |\n| Conversation list empty | fresh app with no conversations, or wrong credentials\u002Fregion | seed a conversation from another user or the Dashboard; re-check App ID\u002Fregion |\n| List scrolls oddly \u002F doesn't load more | `CometChatMessageList` nested in another scrollable | never nest it in a ScrollView\u002F`verticalScroll` Column |\n\n**Realtime \u002F features**\n| Symptom | Cause | Fix |\n|---|---|---|\n| Messages only appear after reopening | listener not registered, or removed too early | register in the right lifecycle; remove only on teardown (`cometchat-android-v6-events`) |\n| Nothing realtime at all | no internet permission, or connection down | `android.permission.INTERNET` in the manifest; check connection status (SDK `getConnectionStatus`\u002F`addConnectionListener`) |\n| A feature doesn't appear | Dashboard toggle off, or session started before enabling | enable in Dashboard for THIS app, then re-login (`cometchat-android-v6-extensions`) |\n| Thread replies never send | thread list\u002Fcomposer missing the `user`\u002F`group` target (parent id alone isn't enough) | pass BOTH the conversation target and the parent message id |\n| Tapping an affordance does nothing | default-on affordance not wired (thread\u002Fsearch) | wire the destination or hide it |\n\n**Layout \u002F platform**\n| Symptom | Cause | Fix |\n|---|---|---|\n| Composer hidden by the keyboard | no IME handling | `windowSoftInputMode=\"adjustResize\"` (Views) \u002F `imePadding()` (Compose) |\n| Header\u002Fcomposer under the status or nav bar | edge-to-edge without insets | `enableEdgeToEdge()` + inset padding (`core\u002Freferences\u002Flayout.md`) |\n| Crash only in release | shrinking\u002Fobfuscation | reproduce on the release variant, read the real trace, then check docs before adding keep rules |\n| Camera\u002Fmic fails on a call | runtime permissions not granted | request CAMERA\u002FRECORD_AUDIO (`cometchat-android-v6-calls`) |\n| Push never arrives | registration failed \u002F no `onNewToken` \u002F wrong Provider ID | `cometchat-android-v6-push` verify path |\n| Crash: lifecycle-related on a kit view | host isn't a lifecycle-aware Activity | use `AppCompatActivity`\u002F`ComponentActivity`\u002F`FragmentActivity` |\n\n## Escalating to CometChat support — bring this\nKit **cohort + exact version** (`chatuikit-compose-android` \u002F `chatuikit-kotlin-android` 6.0.x) and `chat-sdk-android` version · App ID + **region** (never the Auth Key) · the **full `CometChatException`** (`code` AND `message`) from init\u002Flogin\u002Fthe failing call · a minimal repro (which component, which screen) · logcat around the failure · device\u002FAPI level · whether it reproduces in debug and release. Confirm first that it isn't a version_conflict, a Region mismatch, or a swallowed `onError` — those three cover most reports.\n\n## Common pitfalls (of debugging itself)\nEmpty `onError` blocks · assuming the kit is broken when the container is unsized · changing several things at once · testing against a Dashboard app you didn't verify · treating a debug-only symptom as release-safe (or vice versa) · asking support before capturing the exception code.\n\n## Verify it works\nAfter the fix: rebuild, watch logcat for init `onSuccess` → login `onSuccess`, and re-run the original repro. Then re-check the surrounding invariants — surface fills its parent, keyboard\u002Finsets fine, thread and search round-trip, realtime arrives without reopening, and (if touched) the release variant still runs. Confirm the fix's cause was the one you claimed; if you changed several things, revert the unnecessary ones.\n","> **Ground truth:** catalog `android-v6.json` + the kit's real error codes (`ERR_SETTINGS_FILE_NOT_FOUND`, `ERR_SETTINGS_INVALID`, `CometChatException.code\u002Fmessage`) + the live page `\u002Fui-kit\u002Fandroid\u002Ftroubleshooting`. This skill goes DEEPER than `core\u002Freferences\u002Ftroubleshooting.md` (the quick table) — read that first for the common four; come here for the full path and for escalation.\n\n## Companion skills (read first)\n- `cometchat-android-v6-core` — install, credentials, `initFromSettings → login → render`, **`references\u002Ftroubleshooting.md`** (the first-stop table), `references\u002Fanti-patterns.md`, `references\u002Flayout.md`. Assumed here, never repeated.\n\n## Use this skill when\n\"it doesn't work\", \"the build fails\", \"the chat screen is blank\u002Fstuck\", \"messages don't arrive until I reopen\", \"the composer is under the keyboard\", \"it works in debug but crashes in release\", \"calls\u002Fpush don't work\" — and you need a systematic path, not a guess.\n\n## Diagnostics entry — run these three, in order, before theorizing\n1. **Does it BUILD?** `.\u002Fgradlew :app:assembleDebug`. Dependency-resolution and duplicate-class failures are config, not code.\n2. **What does LOGCAT say at startup?** Filter for `CometChat`. You are looking for exactly two things: init's `onSuccess`\u002F`onError`, then login's `onSuccess`\u002F`onError`. **Almost every \"nothing works\" report is one of these two failing and being swallowed** — if your callbacks don't log `e.code` + `e.message`, fix that first; an empty `onError {}` is the bug.\n3. **What's the SESSION state?** `CometChatUIKit.getLoggedInUser()` — null after a \"successful\" login means login didn't actually complete.\n\n## Symptom → root cause → fix\n**Build \u002F dependencies**\n| Symptom | Cause | Fix |\n|---|---|---|\n| `Could not find com.cometchat:chatuikit-…` | CometChat Maven repo missing | add `maven(\"https:\u002F\u002Fdl.cloudsmith.io\u002Fpublic\u002Fcometchat\u002Fcometchat\u002Fmaven\u002F\")` to `settings.gradle(.kts)` `dependencyResolutionManagement.repositories` |\n| **`sendMessage` returns `onSuccess` but the message NEVER arrives** (receiver connected, listener registered) | a Dashboard **moderation rule blocked it server-side** — the send genuinely succeeded, so no client error is raised. The UI Kit surfaces \"Your message was blocked due to moderation policies\"; a headless build sees nothing at all | Dashboard → **Moderation** → check rules\u002Flists. Do NOT chase INTERNET permission or connection status — both are healthy in this case |\n| `Duplicate class android.support.v4.*` (jetifier off) **or** `contains AndroidX dependencies, but the 'android.useAndroidX' property is not enabled` (useAndroidX off) — on a **clean, single-cohort** app | NOT a version conflict. `chat-sdk-android` pulls a pre-AndroidX transitive (`android.arch.lifecycle:extensions` → `com.android.support:support-compat:26.1.0`) that collides with `androidx.core` | set BOTH in `gradle.properties`: `android.useAndroidX=true` + `android.enableJetifier=true` (verified on a clean app; removing either reproduces it) |\n| `Duplicate class org.jetbrains.annotations.*` at dexing | `io.noties:prism4j` pulls `annotations-java5:17` vs `annotations:23` | `configurations.all { exclude(group = \"org.jetbrains\", module = \"annotations-java5\") }` |\n| **`Execution failed for JetifyTransform: react-android-*.aar`** at `checkDebugAarMetadata` — appears only AFTER adding **calling** | `calls-sdk-android` 5.0.x bundles a React-Native stack (`react-android`\u002F`hermes`\u002F`react-native-webrtc`) that Jetifier can't transform, and `core` mandates `android.enableJetifier=true` for the Chat SDK's pre-AndroidX transitive — so the two collide the moment calling is added | add to `gradle.properties`: `android.jetifier.ignorelist=react-android,hermes-android,react-native-webrtc` (they're already AndroidX). See `cometchat-android-v6-calls` |\n| `requires Android Gradle plugin 8.9.1 or higher` | AGP floor is **8.9.1**, not 8.9 | bump AGP |\n| `kotlin-stdlib … metadata is 2.2.0, expected 2.0.0` \u002F internal compiler error | Kotlin floor is **2.1+**; 2.0.21 fails | bump Kotlin |\n| Duplicate class \u002F conflicting versions | **version_conflict**: a v4\u002Fv5 `chat-uikit-android` alongside v6 `chatuikit-*` | remove the old artifact — never mix majors; migrate via `cometchat-android-v6-migration` |\n| Odd theme\u002Fduplicate UI, two kits resolve | both cohorts (`chatuikit-kotlin-android` AND `chatuikit-compose-android`) in one module | pick ONE cohort |\n| `Unsupported class file major version` \u002F Kotlin errors | JVM target mismatch | JVM 11: `compileOptions` + `kotlin { compilerOptions { jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11) } }` (fully-qualified — a mid-file `import` breaks a `.kts`; the `kotlinOptions{}` DSL is deprecated\u002Fremoved on Kotlin 2.2+) |\n\n**Init \u002F login**\n| Symptom | Cause | Fix |\n|---|---|---|\n| `ERR_SETTINGS_FILE_NOT_FOUND` | no `app\u002Fsrc\u002Fmain\u002Fassets\u002Fcometchat-settings.json` | create it (`core` §4); confirm it's in `assets\u002F`, not `res\u002F` |\n| `ERR_SETTINGS_INVALID` | `appId` or `region` missing\u002Fempty in that JSON | fill both |\n| init `onError` about app\u002Fauth | wrong **Region** (most common) or wrong App ID | match the Dashboard exactly (`us`\u002F`eu`\u002F`in`) |\n| login `onError` ERR_UID_NOT_FOUND | the UID doesn't exist in this app | use a real user from Dashboard → Users (fresh apps seed `cometchat-uid-1…`), or create it server-side |\n| login \"fails silently\" \u002F nothing happens | **login called before init resolved** (docs warning) | call login only inside init's `onSuccess` |\n| login error on an already-logged-in user | re-login without logout | guard with `getLoggedInUser() != null`; to switch users, `logout` first |\n| Auth works debug, fails release | release build has no Auth Key but still uses `login(uid)` | use `loginWithAuthToken` (→ `cometchat-android-v6-production`) |\n\n**Blank \u002F empty \u002F stuck UI**\n| Symptom | Cause | Fix |\n|---|---|---|\n| Splash never advances | the gate never unlocks because an `onError` is swallowed | log + render errors; never leave `onError` empty |\n| Chat screen blank\u002Fwhite | UI rendered before login resolved | gate the UI on login success |\n| Component renders as a sliver \u002F crammed | `wrap_content` or an unsized parent — the kit fills its parent | `match_parent`\u002F`0dp`+weight (Views) or `fillMaxSize()`\u002F`weight(1f)` (Compose) — `core\u002Freferences\u002Flayout.md` |\n| Conversation list empty | fresh app with no conversations, or wrong credentials\u002Fregion | seed a conversation from another user or the Dashboard; re-check App ID\u002Fregion |\n| List scrolls oddly \u002F doesn't load more | `CometChatMessageList` nested in another scrollable | never nest it in a ScrollView\u002F`verticalScroll` Column |\n\n**Realtime \u002F features**\n| Symptom | Cause | Fix |\n|---|---|---|\n| Messages only appear after reopening | listener not registered, or removed too early | register in the right lifecycle; remove only on teardown (`cometchat-android-v6-events`) |\n| Nothing realtime at all | no internet permission, or connection down | `android.permission.INTERNET` in the manifest; check connection status (SDK `getConnectionStatus`\u002F`addConnectionListener`) |\n| A feature doesn't appear | Dashboard toggle off, or session started before enabling | enable in Dashboard for THIS app, then re-login (`cometchat-android-v6-extensions`) |\n| Thread replies never send | thread list\u002Fcomposer missing the `user`\u002F`group` target (parent id alone isn't enough) | pass BOTH the conversation target and the parent message id |\n| Tapping an affordance does nothing | default-on affordance not wired (thread\u002Fsearch) | wire the destination or hide it |\n\n**Layout \u002F platform**\n| Symptom | Cause | Fix |\n|---|---|---|\n| Composer hidden by the keyboard | no IME handling | `windowSoftInputMode=\"adjustResize\"` (Views) \u002F `imePadding()` (Compose) |\n| Header\u002Fcomposer under the status or nav bar | edge-to-edge without insets | `enableEdgeToEdge()` + inset padding (`core\u002Freferences\u002Flayout.md`) |\n| Crash only in release | shrinking\u002Fobfuscation | reproduce on the release variant, read the real trace, then check docs before adding keep rules |\n| Camera\u002Fmic fails on a call | runtime permissions not granted | request CAMERA\u002FRECORD_AUDIO (`cometchat-android-v6-calls`) |\n| Push never arrives | registration failed \u002F no `onNewToken` \u002F wrong Provider ID | `cometchat-android-v6-push` verify path |\n| Crash: lifecycle-related on a kit view | host isn't a lifecycle-aware Activity | use `AppCompatActivity`\u002F`ComponentActivity`\u002F`FragmentActivity` |\n\n## Escalating to CometChat support — bring this\nKit **cohort + exact version** (`chatuikit-compose-android` \u002F `chatuikit-kotlin-android` 6.0.x) and `chat-sdk-android` version · App ID + **region** (never the Auth Key) · the **full `CometChatException`** (`code` AND `message`) from init\u002Flogin\u002Fthe failing call · a minimal repro (which component, which screen) · logcat around the failure · device\u002FAPI level · whether it reproduces in debug and release. Confirm first that it isn't a version_conflict, a Region mismatch, or a swallowed `onError` — those three cover most reports.\n\n## Common pitfalls (of debugging itself)\nEmpty `onError` blocks · assuming the kit is broken when the container is unsized · changing several things at once · testing against a Dashboard app you didn't verify · treating a debug-only symptom as release-safe (or vice versa) · asking support before capturing the exception code.\n\n## Verify it works\nAfter the fix: rebuild, watch logcat for init `onSuccess` → login `onSuccess`, and re-run the original repro. Then re-check the surrounding invariants — surface fills its parent, keyboard\u002Finsets fine, thread and search round-trip, realtime arrives without reopening, and (if touched) the release variant still runs. Confirm the fix's cause was the one you claimed; if you changed several things, revert the unnecessary ones.\n",{"name":5,"license":15,"metadata":45,"description":7,"compatibility":49},{"tags":46,"author":47,"version":48},"cometchat android troubleshooting v6 diagnostics errors debugging","CometChat","1.0.0","Android minSdk >=28; compileSdk >=36; Kotlin >=2.1; AGP >=8.9.1; JVM target 11; com.cometchat:chatuikit-kotlin-android ^6 OR com.cometchat:chatuikit-compose-android ^6 (6.0.x, verified 6.0.5); com.cometchat:chat-sdk-android ^5","main","2b63f856ce19c2a797929cacabd9e0fc936812fa","plugins\u002Fcometchat\u002Fcometchat-skills\u002Fskills\u002Fcometchat-android-v6-troubleshooting",468,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins","https:\u002F\u002Fhol.org\u002Fplugins\u002Fbest-codex-plugins","https:\u002F\u002Fgithub.com\u002Fhashgraph-online","https:\u002F\u002Fhol.org","Open-source standards and developer tools for interoperable AI agents: discovery, identity, communication, payments, privacy and security.","2026-11-11 02:22:54",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add hashgraph-online\u002Fawesome-codex-plugins --skill cometchat-android-v6-troubleshooting",{"tool":66,"command":67},"bunx","bunx skills add hashgraph-online\u002Fawesome-codex-plugins --skill cometchat-android-v6-troubleshooting",{"tool":69,"command":70},"pnpm","pnpm dlx skills add hashgraph-online\u002Fawesome-codex-plugins --skill cometchat-android-v6-troubleshooting","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fcometchat\u002Fcometchat-skills\u002Fskills\u002Fcometchat-android-v6-troubleshooting\u002FSKILL.md",true,[],[75,101,126,160,181,195],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":79,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":40},"01M716A6ETNB9B1SQ3GXZC75VR","deja-search","deja-vu memory — search the user's past AI coding sessions with the deja CLI. Holds what they already settled and never wrote into the repo (naming rules, banned or already-tried tools, required checks before merge, preferred values, who owns what). Use before your first edit in a task, before you call a change done or ready to merge, before you recommend a tool, library, design or reviewer, before re-debugging an error that may already be solved, when they say 'didn't we fix this before', 'what did we decide about X' or 'I already have that', and before telling them something on this machine does not exist.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvshulcz\u002Fdeja-vu\u002Fskills\u002Fdeja-search\u002FSKILL.md",[],[83,84,85,86,87,88,89,90,35,91,38,92,93,94,95,96,97,98,99,100],"search","deja search","error","ready","never","memory","re","decide","design","when","you","done","reviewer","io","change","cli","merge","past",{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":79,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":40},"01M716A3J2W5SENSE9VGMXB375","deja-reflect","End-of-session reflection and memory curation with deja-vu. Review what was decided, what commands broke and what repaired them, and record durable project rules or decisions with deja remember so the next session starts with them.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvshulcz\u002Fdeja-vu\u002Fskills\u002Fdeja-reflect\u002FSKILL.md",[],[108,109,110,111,88,112,113,114,115,116,117,118,119,96,120,121,122,123,124,125],"reflect","deja reflect","brew","remember","project rules","project","session","end","reflection","Rules","decisions","review","with","record","github","next","https","node",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":79,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":143,"publishedAt":40},"01M715T3RR4BAYSR57HPPTJ0PF","revid","Make, edit, export and post AI videos with Revid (revid.ai) through the Revid MCP server. Use whenever the user wants a short-form or long-form video made (from an idea, a script, a URL, an article, a PDF, a tweet, a product page, their own clips, or a song), wants to find what is going viral on TikTok, YouTube, Instagram or X before making something, wants to edit or re-export an existing Revid project, generate a standalone AI image or clip, make a series episode, or publish and schedule a finished video to connected social accounts. Covers setup (hosted MCP with OAuth, or an API key), the 36 tools, credits, polling and the rules for publishing. Routes to the more specific revid-* skills when one fits.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftmakersas\u002Frevid-skills\u002Fskills\u002Frevid\u002FSKILL.md",[132,137,140],{"categoryNo":133,"categoryName":134,"taxonomyType":135,"taxonomyTypeDesc":136},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":138,"categoryName":139,"taxonomyType":135,"taxonomyTypeDesc":136},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":141,"categoryName":142,"taxonomyType":135,"taxonomyTypeDesc":136},"01JBSEEDCAT000000000000023","Skill与智能体开发",[128,144,145,146,147,148,113,149,89,150,151,152,153,92,154,155,156,157,158,159],"Video","short-form","standalone","PDF","viral","tiktok","short","social","MCP","song","URL","image","mcp server","schedule","api","publish",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":79,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":40},"01M71569ZM2X3H5RBFK8PVKMK2","review-study","Review a QuestionPunk survey before launch for wording, answer choices, branching, and missing settings. Use for check my survey or review this draft before publishing.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fquestionpunk\u002Fcodex-plugin\u002Fskills\u002Freview-study\u002FSKILL.md",[],[167,168,119,169,170,171,172,173,174,175,176,177,178,179,180],"study","review study","for","answer","missing","survey","publishing","use","check","draft","settings","launch","my","branching",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":79,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":187,"publishedAt":40},"01M71567GV0C35YQBY0DPGR86B","manage-study","Find QuestionPunk studies, check status, publish an explicitly requested draft, or retrieve its participant link. Use for find my survey, publish this study, or how many people responded.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fquestionpunk\u002Fcodex-plugin\u002Fskills\u002Fmanage-study\u002FSKILL.md",[],[188,167,189,169,172,174,190,175,176,159,191,192,193,194,179],"manage study","manage","people","how","find","link","status",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":79,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":201,"publishedAt":40},"01M71565A8TCA01AZQZRGRYMFZ","create-study","Create a saved QuestionPunk survey draft from a research brief or edit specified questions. Use for requests such as make a customer feedback survey or shorten my onboarding study.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fquestionpunk\u002Fcodex-plugin\u002Fskills\u002Fcreate-study\u002FSKILL.md",[],[202,167,203,204,205,206,169,207,172,208,174,209,210,176,211,212,213,214,215,179],"create study","create","brief","as","feedback","customer feedback","research brief","shorten","saved","research","requests","customer","questions","edit"]