agentsclimarketplace

Cometchat android v5 features

Skill cometchat/cometchat-skills/skills/cometchat-android-v5-features

Add features (calls, reactions, polls, file sharing, AI, etc.) to an already-integrated CometChat project. Routes to the right sub-flow based on feature type.From its SKILL.md

Install
npx -y skills add cometchat/cometchat-skills --skill cometchat-android-v5-features

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

6.5 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

Ground truth: com.cometchat:chat-uikit-android:5.x (legacy/maintenance-only; +calls-sdk-android:5.x) — resolved AAR (javap) + ui-kit/android. Official docs: https://www.cometchat.com/docs/fundamentals/extensions-overview · Docs MCP: claude mcp add --transport http cometchat-docs https://www.cometchat.com/docs/mcp (or fetch the URL directly without MCP). Verify symbols against the installed package/source before relying on them.

Companion skills: cometchat-android-v5-core covers initialization; cometchat-android-v5-customization covers deeper component customization; cometchat-android-v5-extensions covers the extension architecture.

Purpose

This skill teaches how CometChat features are structured and what work is required to enable each one. Most features require zero code — they are either already built into the UI Kit, toggled via the cometchat apply-feature CLI (extensions + AI features), or activated by adding a dependency (calls).


Use this skill when

  • "Add reactions to my chat"
  • "Add video calling"
  • "Enable polls"
  • "Add file sharing"
  • "Enable smart replies"

Do not use this skill when

  • Customizing how a feature looks → use cometchat-android-v5-customization
  • Setting up the initial integration → use cometchat-android-v5-core

1. Feature types

TypeWhat it meansAction required
Type 1 — DefaultBuilt into the UI Kit at compile timeNone — already there
Type 2a — ExtensionBackend extension, pure boolean togglecometchat apply-feature <id> --app-id <X> (CLI hits dashboard API)
Type 2b — AI featureBackend AI feature requiring an OpenAI keycometchat apply-feature <id> --app-id <X> --openai-key sk-...
Type 2c — Dashboard-onlyThird-party API key / multi-field config (Giphy, Stipop, Tenor, Chatwoot, Intercom)Open https://app.cometchat.com → Chat & Messaging → Features → configure
Type 3 — Package-installRequires a separate SDK dependencyAdd Gradle dependency
Type 4 — Component-toggleHide/show via setHide* / disable* methods on the relevant componentCall the setter on the component instance (see catalog)

2. Type 1 — Default features (already enabled)

FeatureComponentNotes
Text messagingCometChatMessageComposer + CometChatMessageListCore feature
Media sharing (image/video/audio/file)CometChatMessageComposerAttachment button
Read receiptsCometChatMessageListsetReceiptsVisibility()
Typing indicatorsCometChatMessageList + CometChatConversationsAuto-enabled
User presence (online/offline)CometChatConversations, CometChatUsersRequires subscribePresenceForAllUsers() in init
ReactionsCometChatMessageListLong-press message → react
Mentions (@user, @all)CometChatMessageComposerType @ to trigger
Threaded conversationsCometChatMessageListsetReplyInThreadOptionVisibility()
Quoted repliesCometChatMessageListSwipe to reply
Edit/delete messagesCometChatMessageListLong-press options
Group chatAll componentsUse setGroup() instead of setUser()
Report messageCometChatMessageListLong-press → Report
SearchCometChatSearchStandalone component

3. Type 2 — Backend toggle features (no code needed)

Android projects don't run cometchat apply, so call the CLI in stateless mode with --app-id:

# Pure boolean extensions:
cometchat apply-feature polls --app-id <your-app-id>
cometchat apply-feature stickers --app-id <your-app-id>

# AI features (require OpenAI key):
cometchat apply-feature smart-replies --app-id <your-app-id> --openai-key sk-...
cometchat apply-feature conversation-summary --app-id <your-app-id>
cometchat apply-feature conversation-starter --app-id <your-app-id>

Requires cometchat auth login once per machine.

Extensions (CLI-toggleable — pure boolean):

  • User Engagement: Polls, Message Translation, Reminders
  • Collaboration: Collaborative Document, Collaborative Whiteboard
  • Security: Disappearing Messages, E2E Encryption (Enterprise)
  • Moderation: Profanity Filter, Image Moderation, Data Masking, Sentiment Analysis, XSS Filter

AI Features (CLI-toggleable — needs --openai-key): Conversation Starter, Conversation Summary, Smart Reply

Dashboard-only (third-party config — open https://app.cometchat.com → Chat & Messaging → Features): Stickers (Stipop), Giphy, Tenor, Chatwoot, Intercom — these require API keys / webhooks the user must enter manually.


4. Type 3 — Package-install features

Voice/Video Calling

Add the calling SDK:

implementation 'com.cometchat:calls-sdk-android:5.+'

The UI Kit auto-detects the calling SDK and enables call buttons in CometChatMessageHeader. No additional code needed — CometChatIncomingCall, CometChatOutgoingCall, and CometChatOngoingCall activate automatically.

Configure call buttons visibility:

CometChatMessageHeader header = findViewById(R.id.header);
header.setVoiceCallButtonVisibility(View.VISIBLE);
header.setVideoCallButtonVisibility(View.VISIBLE);

Hard rules

  • Don't write code for Type 1 features. They're already there. Tell the user where to find them.
  • Don't write code for Type 2a/2b features. Run cometchat apply-feature <id> --app-id <X> (extension) or ... --openai-key sk-... (ai-feature). The CLI flips the dashboard toggle via API. Never tell the user to "open the dashboard and toggle X" for an extension or ai-feature — that's what the CLI does.
  • For Type 2c (dashboard-only) features, the CLI cannot automate (third-party keys / multi-field config). Walk the user through the dashboard path returned by cometchat apply-feature <id>'s manual-action-required response.
  • For Type 3 (calls), just add the Gradle dependency. The UI Kit handles the rest.
  • Always run cometchat apply-feature <id> first for extensions and AI features. If the user reports a "missing feature," it's almost always an unflipped toggle the CLI can fix in one call.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.