agentsclimarketplace

Cometchat android v6 features

Skill cometchat/cometchat-skills/skills/cometchat-android-v6-features

CometChat Android UIKit v6 feature catalog — AI features, reactions, polls, stickers, moderation, collaborative, and media featuresFrom its SKILL.md

Install
npx -y skills add cometchat/cometchat-skills --skill cometchat-android-v6-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

8.9 KB, ~2.0k tokens by cl100k_base, as published. Nobody here has run it

Ground truth: com.cometchat:chatuikit-{compose,kotlin}-android:6.x + packages/registry/v6/features/catalog.json. (Official docs linked below.) Verify symbols against the installed package/source before relying on them.

Companion skills: cometchat-android-v6-kotlin-components, cometchat-android-v6-compose-components, cometchat-android-v6-extensions (DataSource pattern), cometchat-android-v6-events, cometchat-android-v6-calls (voice/video calling enablement — recording is a paid add-on)

Purpose

Catalog of all features available in CometChat UIKit v6, how they map to components and DataSources, and how to enable/disable them.

Use this skill when

  • Enabling or disabling specific features (AI, reactions, polls, stickers)
  • Understanding what features are available out of the box
  • Mapping a feature to its component and DataSource

Do not use this skill when

  • Working with component APIs directly (use cometchat-*-components)
  • Customizing bubble rendering (use cometchat-*-customization)

0. Feature categories — what work each needs

Canonical public feature-availability matrix: Features & Extensions Guide — the authoritative source for which integration method (UI Kit / UI Kit Builder / Widget Builder / SDK) supports each feature + dashboard setup + whether code is required. It outranks the local catalog.json snapshot on conflict; consult it (WebFetch or docs MCP) for any availability decision.

Before enabling anything, classify the feature by the product's 5-category "work needed" model:

CategoryWork neededExample
Core (zero-setup)Nothing — renders out of the boxTyping indicators, reactions
Builder-enabledDashboard API + toggle in the UI Kit BuilderPolls
Config-onlyDashboard API enable; works automaticallyLink preview
Config + settingsDashboard API + extra settings (API keys, thresholds) — no codeSmart replies (OpenAI key)
SDK-integratedDashboard API + custom client codeBitly

Key rule: only SDK-integrated features need client code — and the implementation lives in the docs (cometchat features info <id> --json shows what's needed; fetch + adapt the doc code, don't hand-roll). Everything else is enable-and-done.

Honest-automation boundary (what the CLI can vs can't do):

  • Extensions (polls, link-preview, message-translation, reactions, etc.) → cometchat apply-feature <id> --app-id <your-app-id> makes the real dashboard API call to flip the toggle. No browser visit, no code. Never tell the user to "open the dashboard and toggle it" for an extension.
  • AI features → cometchat apply-feature <id> --app-id <X> --openai-key sk-... (sets the key, then enables) — see §1.
  • Third-party dashboard-only features (Giphy, Stipop, Tenor, Chatwoot, Intercom, Disappearing Messages, Message Shortcuts) → the CLI returns manual-action-required and prints the dashboard path. These need your third-party credentials and cannot be automated — state that honestly.
  • Calls → see cometchat-android-v6-calls. Call recording is a paid plan add-on — there is no dashboard toggle / CLI call to enable it; the user must contact CometChat support. Never claim recording was "enabled."

1. AI Features

AI features need an OpenAI API key on the app's AI settings. Enable each one with the CLI in stateless mode (Android projects don't write .cometchat/state.json):

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>

The OpenAI key is stored on the app once, so subsequent ai-feature applies don't need --openai-key repeated. Requires cometchat auth login once per machine.

FeatureCompose ComponentCore DataSourceDescription
AI Assistant Chat HistoryCometChatAIAssistantChatHistory—Shows AI bot conversation history
AI Conversation StarterShared element in presentation/shared/aiconversationstarter/—Suggests conversation starters
AI Conversation SummaryShared element in presentation/shared/aiconversationsummary/—Summarizes long conversations
AI Smart RepliesShared element in presentation/shared/aismartreplies/—Suggests contextual replies

AI features integrate with CometChatMessageList via the smartRepliesView slot and AI-specific parameters.

The CometChatAIStreamService in chatuikit-core handles streaming AI responses.

2. Reactions

FeatureComponentDataSourceDescription
Reaction ListCometChatReactionListReactionListDataSourceShows who reacted with what
Add ReactionShared element in presentation/shared/reaction/—Emoji picker for adding reactions

Reactions appear in the footer slot of message bubbles. Reaction events flow through CometChatEvents.messageEvents.

3. Polls

FeatureComponentDataSourceDescription
Create PollCometChatCreatePoll (Compose)PollDataSourceCreate a new poll
Poll BubbleShared element in presentation/shared/PollDataSourceImplRenders poll in message list

Polls are custom messages with type extension_poll. The PollRepositoryImpl handles vote submission.

4. Stickers

FeatureComponentDataSourceDescription
Sticker KeyboardCometChatStickerKeyboardStickerDataSourceBrowse and send stickers
Sticker Bubblestickerbubble/ (Kotlin Views)StickerDataSourceImplRenders sticker in message list

Stickers integrate with CometChatMessageComposer as an auxiliary input.

5. Moderation

FeatureComponentDescription
Report/Flag MessageCometChatFlagMessageDialog (Views) / CometChatFlagMessageDialog (Compose)Report inappropriate messages

Moderation views appear in the bottom slot of message bubbles when moderation is enabled.

6. Collaborative Features

FeatureDataSourceDescription
Collaborative DocumentCollaborativeDataSourceReal-time document editing
Collaborative WhiteboardCollaborativeDataSourceImplReal-time whiteboard

7. Media Features

FeatureComponentDescription
Image ViewerCometChatImageViewerScreen (Compose)Full-screen image viewing with zoom
Media RecorderShared element in presentation/shared/mediarecorder/Audio/video recording
Inline Audio RecorderShared element in presentation/shared/inlineaudiorecorder/In-composer audio recording
Media SelectionShared element in presentation/shared/mediaselection/Photo/video picker

8. Feature-to-DataSource Mapping

All DataSources live in chatuikit-core/data/datasource/:

DataSource InterfaceImplementationFeature Area
CallButtonsDataSourceCallButtonsDataSourceImplAudio/video call buttons
CallLogsDataSourceCallLogsDataSourceImplCall history
CollaborativeDataSourceCollaborativeDataSourceImplDocuments/whiteboards
ConversationListDataSourceConversationListDataSourceImplConversation list
GroupMembersDataSourceGroupMembersDataSourceImplGroup member management
GroupsDataSourceGroupsDataSourceImplGroup list
MessageComposerDataSourceMessageComposerDataSourceImplMessage input
MessageHeaderDataSourceMessageHeaderDataSourceImplChat header
MessageInformationDataSourceMessageInformationDataSourceImplMessage info/receipts
MessageListDataSourceMessageListDataSourceImplMessage list
PollDataSourcePollDataSourceImplPolls
ReactionListDataSourceReactionListDataSourceImplReactions
SearchDataSourceSearchDataSourceImplGlobal search
StickerDataSourceStickerDataSourceImplStickers
UsersDataSourceUsersDataSourceImplUser list

Hard rules

  • AI features require dashboard configuration — they cannot be enabled purely from client code
  • Polls and stickers are custom message types — they require the corresponding extensions enabled on the dashboard
  • Do NOT confuse DataSources (data layer in core) with BubbleFactory (UI layer in kotlin/compose) — DataSources fetch data, BubbleFactories render bubbles

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.