Builds chat on Android with your own UI against the headless CometChat Chat SDK v5, covering install, Jetifier conflicts, credentials and init-before-login ordering.
Install the "cometchat-android-v5-sdk" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-android-v5-sdk into .claude/skills/cometchat-android-v5-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-android-v5-sdk", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add cometchat/cometchat-skills --skill cometchat-android-v5-sdk -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "cometchat-android-v5-sdk" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-android-v5-sdk into .agents/skills/cometchat-android-v5-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-android-v5-sdk", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add cometchat/cometchat-skills --skill cometchat-android-v5-sdk -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "cometchat-android-v5-sdk" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-android-v5-sdk into .cursor/skills/cometchat-android-v5-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-android-v5-sdk", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add cometchat/cometchat-skills --skill cometchat-android-v5-sdk -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "cometchat-android-v5-sdk" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-android-v5-sdk into .gemini/skills/cometchat-android-v5-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-android-v5-sdk", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add cometchat/cometchat-skills --skill cometchat-android-v5-sdk -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "cometchat-android-v5-sdk" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-android-v5-sdk into .github/skills/cometchat-android-v5-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-android-v5-sdk", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add cometchat/cometchat-skills --skill cometchat-android-v5-sdk -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "cometchat-android-v5-sdk" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-android-v5-sdk into .opencode/skills/cometchat-android-v5-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-android-v5-sdk", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
cometchat-android-v5-sdk
GitHub stars
130
Token cost
~4k tokens
SKILL.md length
1,203 words
Files
3 (incl. references)
Skills in repo
97
Repo updated
First seen
Licence
MIT
At a glance
Builds chat on Android with your own UI against the headless CometChat Chat SDK v5, covering install, Jetifier conflicts, credentials and init-before-login ordering.
Building a custom chat screen in Compose backed by CometChat instead of the UI Kit
SKILL.md covers Companion skills (read first), Use this skill when, Prerequisites & install and Init & login ordering (BAKED —…, plus 6 more sections
Reaches dl.cloudsmith.io
Sending and receiving messages programmatically through the headless Android SDK
What it does
This skill is self-contained for a headless build and does not depend on the CometChat UI Kit, but it explicitly routes a user who wants ready-made chat screens to the cometchat-android-v6-core skill instead, since the UI Kit needs far less code for a drop-in chat experience. It is meant for someone who wants their own UI or design system, a non-chat surface, or backend-style SDK usage, and treats its ground truth catalog, taken from the installed chat-sdk-android 5.0.5 AAR, as the source to verify symbols against rather than relying on memory.
Setup adds the CometChat Cloudsmith Maven repository and the chat-sdk-android 5 dependency, then requires android.useAndroidX=true and android.enableJetifier=true in gradle.properties; without Jetifier, an AndroidX app fails checkDebugDuplicateClasses because the SDK still pulls in an old support-compat artifact that collides with androidx.core. Calls support additionally needs minSdk 26, SoLoader initialization and a manifest service entry. The manifest needs the INTERNET permission, and credentials live in a gitignored cometchat-settings.json with appId, region and a dev-only authKey.
When your agent uses it
Building a custom chat screen in Compose backed by CometChat instead of the UI Kit
Sending and receiving messages programmatically through the headless Android SDK
Fixing a duplicate-class build failure caused by the CometChat Android SDK's legacy dependency
Setting up CometChat credentials and permissions for a new Android app
Example prompts
“Set up the CometChat Android v5 SDK for a chat screen with my own UI.”
“My build fails with duplicate INotificationSideChannel classes after adding CometChat; fix it.”
“Send a message programmatically using chat-sdk-android without the UI Kit.”
“Add CometChat credentials and the INTERNET permission to this Android app.”
CometChat Android v5 Headless SDK loads about 4k tokens when it runs, and up to ~7.4k if it reads all its reference files. Until then it costs about 127 tokens; SKILL.md has 1,203 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~127
When it runs· the whole SKILL.md, loaded when a task matches
~4k
With references· SKILL.md plus every file in references/, read only if the agent opens them
~7.4k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check passed
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
Download SKILL.mdSave it as .claude/skills/cometchat-android-v5-sdk/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
cometchat-android-v5-sdk
description
Build chat on Android with the headless CometChat Chat SDK v5 and your OWN UI — init/login ordering, the method map, request-builder pagination, listener lifecycle, and a production-ready app surface (optimistic updates, error states, sized shell). Use when the app needs custom UI instead of the drop-in UI Kit. Triggers: 'cometchat android sdk', 'chat with my own ui android', 'headless cometchat android', 'send message with chat-sdk-android', 'cometchat message listener kotlin'.
Ground truth: catalog sdk-android-v5.json (curated from the INSTALLED com.cometchat:chat-sdk-android:5.0.5 AAR — the existence oracle) + features.sdk-android-v5.json + contracts.sdk-android-v5.json (sdk-chat-surface — the completeness floor). Docs: references/docs-map.md. ⚠️ Android SDK v5 pages are VERSIONED (/sdk/android/v5/…); the unversioned tree is v4. Verify symbols against the catalog; fetch signatures from docs; never trust memory.
Companion skills (read first)
This skill is self-contained for headless builds — it does not depend on a UI Kit core. But: if the user wants ready-made chat UI, the UI Kit is the better answer — say so and route to cometchat-android-v6-core (drop-in components, far less code). Come here when they explicitly want their own UI, a non-chat surface, or backend-style usage.
Use this skill when
"use the CometChat SDK directly", "build chat with my own UI/design system", "I don't want the UI Kit", "send/receive messages programmatically", "custom chat screen in Compose backed by CometChat".
Jetifier is not optional. Without android.enableJetifier=true an AndroidX app fails checkDebugDuplicateClasses (Duplicate class android.support.v4.app.INotificationSideChannel … androidx.core:core and com.android.support:support-compat:26.1.0). Verified 2026-09-07 (removing the line reproduces it); dependencyInsight --dependency support-compat shows the chain. Calling (calls-sdk-android:5.0.4) additionally needs minSdk 26 + the SoLoader init + a manifest <service> — cometchat-android-v5-calls-sdk Prerequisites.
Manifest needs android.permission.INTERNET. Credentials live in the gitignoredapp/src/main/assets/cometchat-settings.json (appId, region, credentials.authKey dev-only). The optional chatSDK section carries SDK-level overrides; init succeeds without it, so omit it for a minimal build — BUT one override is load-bearing for a required surface:
⚠️ Presence is opt-in via chatSDK.presenceSubscription — omit it and realtime presence is silently dead. The app-surface floor requires a presence-aware chat header + users list (onUserOnline/onUserOffline). initFromSettings only subscribes to presence if the asset sets chatSDK.presenceSubscription; if it's absent, onUserListener events NEVER fire (docs /sdk/android/v5/user-presence: "If none of the above methods are set, no presence will be sent"). Accepted values (verified against the AAR settings parser — bad values throw ERR_SETTINGS_FILE_INVALID_PRESENCE_TYPE): ALL_USERS · FRIENDS · ROLES (with a sibling roles list) · NONE. So whenever you wire the presence surface, ship:
Distinguish the two presence paths: getUser(uid).status / the UsersRequest list status field is a one-time snapshot (works without the subscription); the realtimeonUserOnline/onUserOffline transitions need the subscription above.
⚠️ Docs drift — ConnectionListener./sdk/android/v5/connection-status.md shows
override fun onError(e: CometChatException). That does not compile: the member is
onConnectionError(e: CometChatException?), and ConnectionListener is an interface —
object : CometChat.ConnectionListener with no parentheses, unlike CometChat.MessageListener().
Verified against CometChat.java:10737.
Init & login ordering (BAKED — invariant)
CometChat.initFromSettings(...) resolves → login(...) resolves → everything else. Any SDK call before init fails; login before init fails silently.
kotlin
import com.cometchat.chat.core.CometChat
import com.cometchat.chat.exceptions.CometChatException
import com.cometchat.chat.models.User
CometChat.initFromSettings(context, object : CometChat.CallbackListener<String>() {
override fun onSuccess(p: String) { // init resolved — telemetry source persisted
if (CometChat.getLoggedInUser() == null) {
// ⚠️ TWO DIFFERENT overloads — they are not interchangeable:
// dev : login(uid, authKey, listener) ← 3 args, uid REQUIRED
// prod : login(authToken, listener) ← 2 args, NO uid (the token identifies the user)
// Passing a token in the 3-arg form sends it as an apiKey and fails.
// WHERE `authKey` COMES FROM (headless has no UI-Kit shortcut): read it back out of the
// same gitignored settings asset you already ship — never hardcode it, and never add a
// second copy in source:
// val cfg = JSONObject(assets.open("cometchat-settings.json").bufferedReader().readText())
// val authKey = cfg.getJSONObject("credentials").getString("authKey")
// Guard the read: if the asset is missing this throws BEFORE the SDK can report its own
// clean ERR_SETTINGS_FILE_NOT_FOUND, turning a clear error into a crash.
CometChat.login(uid, authKey, object : CometChat.CallbackListener<User>() {
override fun onSuccess(user: User) { /* unlock the app */ }
override fun onError(e: CometChatException) { /* surface e.code + e.message */ }
})
} else { /* session already live */ }
}
override fun onError(e: CometChatException?) { /* surface — do NOT proceed */ }
})
initFromSettings reads the assets settings file and persists the integration source; the classic CometChat.init(context, appId, AppSettings, callback) still exists but is not the default (loses attribution). Prod: mint a per-user auth token server-side and log in with it; the Auth Key is dev-only. Re-logging a different user requires logout first.
SDK method map (BAKED closed list — catalog-verified)
Constants & models packages — com.cometchat.chat.core.* (CometChat, Call, and the *Request/*RequestBuilder types) · com.cometchat.chat.models.* (User, Group, TextMessage, MediaMessage, BaseMessage, TypingIndicator) · com.cometchat.chat.constants.CometChatConstants (RECEIVER_TYPE_USER/RECEIVER_TYPE_GROUP live HERE, not on CometChat) · com.cometchat.chat.exceptions.CometChatException.
Auth overloads (do not conflate) — login(uid, authKey, listener) for dev; login(authToken, listener) for production, which takes no uid because the server-minted token carries the identity. Getting this wrong is silent: the token goes through as an apiKey and auth fails.
SessioninitFromSettings · init (legacy) · login · logout · getLoggedInUser · getUserAuthToken · addLoginListener/LoginListener/removeLoginListenerMessagingTextMessage · MediaMessage · CustomMessage · InteractiveMessage · sendMessage · sendMediaMessage · sendCustomMessage · sendInteractiveMessage · editMessage · deleteMessage · flagMessage/getFlagReasons · sendTransientMessage/TransientMessage · getMessageDetails · BaseMessage · Attachment · createUploadFileRequest/UploadFileRequest/UploadFileListenerFetching (always via a request builder + pagination)MessagesRequest.MessagesRequestBuilder · ConversationsRequest.ConversationsRequestBuilder · UsersRequest.UsersRequestBuilder · GroupsRequest.GroupsRequestBuilder · GroupMembersRequest.GroupMembersRequestBuilder · BannedGroupMembersRequest… · BlockedUsersRequest… · ReactionsRequest… · NotificationFeedRequest…Realtime listenersaddMessageListener/MessageListener/removeMessageListener · addUserListener/UserListener/… · addGroupListener/GroupListener/… · addCallListener/CallListener/… · addConnectionListener/ConnectionListener/… · addAIAssistantListener/AIAssistantListener/… · addNotificationFeedListener/NotificationFeedListener/…
Receipts & typingstartTyping/endTyping/TypingIndicator · markAsDelivered/markAsRead/markAsUnread/markConversationAsRead · MessageReceipt/getMessageReceipts · unread: getUnreadMessageCount/…ForUser/…ForGroupReactionsaddReaction/removeReaction/Reaction/ReactionCountUsersgetUser · createUser/updateUser/updateCurrentUserDetails · blockUsers/unblockUsers · UserGroupscreateGroup/createGroupWithMembers · joinGroup/leaveGroup · updateGroup/deleteGroup/getGroup/getJoinedGroups · addMembersToGroup/kickGroupMember/banGroupMember/unbanGroupMember · updateGroupMemberScope/transferGroupOwnership · Group/GroupMemberConversationsgetConversation · deleteConversation · tagConversation · ConversationCallsinitiateCall/acceptCall/rejectCall/endCall/startCall · getActiveCall/clearActiveCall · Call/CallSettings.CallSettingsBuilderAIgetSmartReplies · getConversationStarter · getConversationSummary · askBot · isAIFeatureEnabled · AIAssistantMessage + the AIAssistant*Event family
Push & feedregisterTokenForPushNotification · CometChatNotifications · PushPlatforms · NotificationFeedItem/getNotificationFeedUnreadCountConnectiongetConnectionStatus · connect/disconnect/ping
Not in this map and not in the catalog ⇒ does not exist: fetch the page via references/docs-map.md before assuming.
Listener lifecycle (the #1 source of Android SDK bugs)
Every add*Listener(UNIQUE_ID, …)must have a matching remove*Listener(UNIQUE_ID) on teardown — onDestroy (Activity/Fragment), DisposableEffect's onDispose (Compose), or onCleared (ViewModel). Register with a stable, unique id (e.g. the screen's class name); registering the same id twice replaces silently, never removing leaks the callback and duplicates handling after rotation.
kotlin
DisposableEffect(Unit) {
CometChat.addMessageListener(LISTENER_ID, object : CometChat.MessageListener() {
override fun onTextMessageReceived(message: TextMessage) { /* append to state */ }
})
onDispose { CometChat.removeMessageListener(LISTENER_ID) }
}
Realtime arrives via listeners — never poll.
Show full SKILL.md (502 more words)Show less
Least-code recipe — the production floor (contract sdk-chat-surface)
Because the SDK ships no UI, a generic "build chat with the SDK" must deliver a complete, production-ready app, not bare bubbles. The floor (full text in contracts.sdk-android-v5.json, UI spec in references/app-surface.md):
Data: conversations + users + groups lists, each searchable (setSearchKeyword on the builder) and paginated via request builders (setLimit + fetch-next) — never one unbounded fetch. Scope the request to the product (1:1-only vs groups) instead of filtering client-side.
Messaging: send text/media, message history, threads via setParentMessageId, edit/delete/react/report — each wired to the SDK and reflected in the UI, with own-message gating for edit/delete.
Realtime: message/user/group/connection listeners registered and removed as above; typing indicators and receipts wired.
Detail screens: user (block/unblock) and group (add/kick/ban/scope/leave), role-gated.
UX quality: optimistic updates (show the message as sending immediately, reconcile in onSuccess, roll back + surface CometChatException.message in onError), loading/empty/error states everywhere (never a blank screen or [object Object]), a sized shell (fillMaxSize/match_parent, list scrolls internally, insets + IME handled), and your app's existing design system (Material3 theme or your tokens) — never ad-hoc inline styling.
Errors: every CallbackListener implements onError and surfaces something actionable. An empty onError {} is the defect this contract exists to prevent.
Deep references (load only when the task needs them)
references/docs-map.md — intent → the exact /sdk/android/v5/<page>.md to fetch (+ the v5-vs-v4 URL trap and the scoped LLM index).
references/app-surface.md — the own-UI production floor in detail (state model, optimistic mutations, list/pagination patterns, error/empty/loading, sizing).
Common pitfalls
reversed param order — updateGroupMemberScope(UID, GUID, scope, …) vs transferGroupOwnership(GUID, UID, …) · search-keyword casing differs per builder — UsersRequestBuilder.setSearchKeyword and ConversationsRequestBuilder.setSearchKeyword are lowercase, but GroupsRequestBuilder.setSearchKeyWord has a capital W (SDK inconsistency; using setSearchKeyword on GroupsRequest is Unresolved reference) · conversations search is plan-gated — ConversationsRequestBuilder.setSearchKeyword/setUnread need the "Conversation & Advanced Search" feature (Advanced/Custom plan + dashboard toggle); off-plan it silently returns the unfiltered list (a search box that looks broken). Users/Groups search is NOT plan-gated. · passing an auth token into the 3-arg login(uid, authKey, …) (tokens use the 2-arg login(authToken, …)) · CometChat.RECEIVER_TYPE_USER (it is CometChatConstants.RECEIVER_TYPE_USER) · presence never fires without chatSDK.presenceSubscription in the settings asset (see Prerequisites) · importing Call from chat.models instead of chat.core · Any SDK call before init resolves · login before init (silent failure) · Auth Key shipped in a release build · listeners never removed (duplicate handling after rotation) · polling instead of listeners · unbounded fetches with no pagination · empty onError blocks · blocking the main thread waiting on callbacks · re-login without logout · using the unversioned /sdk/android/ v4 docs · rebuilding UI the UI Kit already ships (when the user would accept drop-ins).
Verify it works
Every symbol you emitted is in sdk-android-v5.json (Tier-1) and the app compiles: run ./gradlew :app:assembleDebug in the user's app. On device: init → login succeed (logcat); the conversations/users/groups lists load and paginate; sending appears instantly and reconciles; a message from another user arrives live (listener, not refresh); edit/delete/react update in place; rotating the screen doesn't duplicate messages (listener lifecycle); force an error (airplane mode) → a readable error state, not a blank screen or crash. Live backend round-trip smoke for this family is not automated yet (parked with the Android native harness) — verify manually and say so.
CometChat Android v5 Headless SDK next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
CometChat Android v5 Headless SDK compared with similar skills
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
CometChat Android v5 Headless SDK this skillcometchat/cometchat-skills
Checks whether Android hidden-API implementations and system callbacks survive R8 minification, and diagnoses Release-only failures such as AbstractMethodError.
Guides Jetpack Compose and Compose Multiplatform work across Android, Desktop, iOS and web, plus Android TV, Material 3 motion, paging, navigation and design-to-code.
Adds voice and video calling to an Android app in Kotlin with the headless CometChat Calls SDK v5, covering meeting-style rooms, 1:1 ringing calls, call logs and recording.
Picks and customizes CometChat's Angular UI Kit components by their verified component list, exact input and output event names, and the surfaces that have no kit component at all.
Enables or builds CometChat features such as polls, reactions, smart replies and pinned messages in an Angular app, first classifying how much client code each one needs.
Decides where CometChat chat UI goes in an Angular app: a dedicated route, a dashboard panel, a support widget or the full multi-pane app, with thread and search panels.
Add voice & video calling to any iOS app FROM SCRATCH with the headless CometChat Calls SDK v5 (CometChatCallsSDK, via Swift Package Manager) — no UI Kit.
Add voice & video calling to any web app FROM SCRATCH with the headless CometChat Calls SDK v5 (@cometchat/calls-sdk-javascript@5) — no prebuilt UI Kit.
Builds chat on Android with your own UI against the headless CometChat Chat SDK v5, covering install, Jetifier conflicts, credentials and init-before-login ordering. This skill is self-contained for a headless build and does not depend on the CometChat UI Kit, but it explicitly routes a user who wants ready-made chat screens to the cometchat-android-v6-core skill instead, since the UI Kit needs far less code for a drop-in chat experience.5 AAR, as the source to verify symbols against rather than relying on memory.
When should I use CometChat Android v5 Headless SDK?
CometChat Android v5 Headless SDK fits situations like: building a custom chat screen in Compose backed by CometChat instead of the UI Kit; sending and receiving messages programmatically through the headless Android SDK; fixing a duplicate-class build failure caused by the CometChat Android SDK's legacy dependency; setting up CometChat credentials and permissions for a new Android app.
How do I install CometChat Android v5 Headless SDK in Claude Code?
Run `npx skills add cometchat/cometchat-skills --skill cometchat-android-v5-sdk -a claude-code`. Or copy the skill folder (skills/cometchat-android-v5-sdk in cometchat/cometchat-skills) into .claude/skills/cometchat-android-v5-sdk in your project. Claude Code loads it when a task matches its description.
How do I install CometChat Android v5 Headless SDK in Codex?
Run `npx skills add cometchat/cometchat-skills --skill cometchat-android-v5-sdk -a codex`. Or copy the skill folder (skills/cometchat-android-v5-sdk in cometchat/cometchat-skills) into .agents/skills/cometchat-android-v5-sdk in your project. Codex loads it when a task matches its description.
Can I use CometChat Android v5 Headless SDK in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add cometchat/cometchat-skills --skill cometchat-android-v5-sdk -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cometchat-android-v5-sdk, .gemini/skills/cometchat-android-v5-sdk, .github/skills/cometchat-android-v5-sdk and .opencode/skills/cometchat-android-v5-sdk in your project.
What does CometChat Android v5 Headless SDK need to run?
SKILL.md names no scripts, command-line tools or credentials: CometChat Android v5 Headless SDK is instructions for the agent only. Our summary lists: Android minSdk 24 or higher, Kotlin 1.9+, AGP 8+, JVM target 11; com.cometchat:chat-sdk-android version 5 (verified against 5.0.5); android.useAndroidX and android.enableJetifier enabled in gradle.properties. Compatibility (from SKILL.md): Android minSdk >=24; Kotlin >=1.9 / AGP >=8; JVM target 11; com.cometchat:chat-sdk-android ^5 (5.0.x, verified 5.0.5); optional com.cometchat:calls-sdk-android ^5.
Does CometChat Android v5 Headless SDK access the network?
SKILL.md names 1 domain. In commands or code: dl.cloudsmith.io; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Is CometChat Android v5 Headless SDK safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
What licence does CometChat Android v5 Headless SDK use?
CometChat Android v5 Headless SDK is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does CometChat Android v5 Headless SDK use?
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.4k tokens, read only when the agent opens those files.
What are the alternatives to CometChat Android v5 Headless SDK?
Skills that share tags, products or a category with CometChat Android v5 Headless SDK: Compose Multiplatform Patterns (monta-app/ocpp-emulator, 180 stars), Android Hidden API and R8 Check (gkd-kit/gkd, 43k stars), Android Development (dpconde/claude-android-skill, 336 stars) and Jetpack Compose Expert (aldefy/compose-skill, 596 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains CometChat Android v5 Headless SDK?
cometchat (a GitHub organization) maintains it in cometchat/cometchat-skills, which has 130 GitHub stars. The repository holds 97 skills in this directory. The repository was last updated on October 5, 2026.
Source: cometchat/cometchat-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.