Agent skill

Cometchat Android V6 Compose Customization

by cometchat in cometchat/cometchat-skills

Make the CometChat Android v6 UI match your app in the Jetpack Compose cohort — theming with the CometChatTheme composable and lightColorScheme/darkColorScheme, per-component style data classes…

MITAuto-check passedFrontend & Design

Install Cometchat Android V6 Compose Customization

skills CLI
$ npx skills add cometchat/cometchat-skills --skill cometchat-android-v6-compose-customization -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install cometchat/cometchat-skills cometchat-android-v6-compose-customization --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/cometchat/cometchat-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cometchat-android-v6-compose-customization .claude/skills/cometchat-android-v6-compose-customization && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
cometchat-android-v6-compose-customization
GitHub stars
129
Token cost
~2k tokens
SKILL.md length
669 words
Files
1
Skills in repo
97
Repo updated
First seen
Licence
MIT

At a glance

Make the CometChat Android v6 UI match your app in the Jetpack Compose cohort — theming with the CometChatTheme composable and lightColorScheme/darkColorScheme, per-component style data classes…

  • Tasks that involve Theming and dark mode
  • SKILL.md covers Companion skills (read first), Use this skill when, Theming — the top mechanism… and Customization mechanism map…, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Tasks that involve Android development

What it does

Cometchat Android V6 Compose Customization is an agent skill from cometchat/cometchat-skills. Make the CometChat Android v6 UI match your app in the Jetpack Compose cohort — theming with the CometChatTheme composable and lightColorScheme/darkColorScheme, per-component style data classes, @Composable view slots, state views, menu options, text formatters, custom message rendering with bubble factories, localization and sounds. Triggers: 'cometchat compose theme', 'brand colors jetpack compose cometchat', 'dark mode compose cometchat', 'custom row composable', 'custom message type compose'.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Android minSdk =28; compileSdk =36; Kotlin =2.1; AGP =8.9.1; JVM target 11; com.cometchat:chatuikit-compose-android ^6 (Jetpack Compose cohort) — 6.0.x…

It sits in Frontend & Design, covering Theming and dark mode, Android development and Linting and formatting. It works with CometChat, Android and Jetpack Compose. The repository describes itself as: Add CometChat chat & messaging and voice & video calls to any React, Next.js, React Native, Angular, Android, iOS, or Flutter project through your AI coding agent. Works with… The licence is MIT.

When your agent uses it

  • Tasks that involve Theming and dark mode
  • Tasks that involve Android development
  • Tasks that involve Linting and formatting

Example prompts

  • “cometchat compose theme”
  • “brand colors jetpack compose cometchat”
  • “dark mode compose cometchat”
  • “/cometchat-android-v6-compose-customization”

Requirements

  • Compatibility (from SKILL.md): Android minSdk >=28; compileSdk >=36; Kotlin >=2.1; AGP >=8.9.1; JVM target 11; com.cometchat:chatuikit-compose-android ^6 (Jetpack Compose cohort) — 6.0.x, verified 6.0.5; com.cometchat:chat-sdk-android ^5

What it can do on your machine

Read from SKILL.md and the folder at commit 911b108. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are kotlin).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Android minSdk >=28; compileSdk >=36; Kotlin >=2.1; AGP >=8.9.1; JVM target 11; com.cometchat:chatuikit-compose-android ^6 (Jetpack Compose cohort) — 6.0.x, verified 6.0.5; com.cometchat:chat-sdk-android ^5

    From compatibility in the SKILL.md frontmatter.

Context cost

Cometchat Android V6 Compose Customization loads about 2k tokens when it runs. Until then it costs about 136 tokens; SKILL.md has 669 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~136
When it runs · the whole SKILL.md, loaded when a task matches
~2k

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.

SKILL.md

The full file from cometchat/cometchat-skills at commit 911b108, republished under its MIT licence (© cometchat). 669 words, ~2,038 tokens.

Download SKILL.mdSave it as .claude/skills/cometchat-android-v6-compose-customization/SKILL.md (or your agent's skills folder).
name
cometchat-android-v6-compose-customization
description
Make the CometChat Android v6 UI match your app in the Jetpack Compose cohort — theming with the CometChatTheme composable and lightColorScheme/darkColorScheme, per-component style data classes, @Composable view slots, state views, menu options, text formatters, custom message rendering with bubble factories, localization and sounds. Triggers: 'cometchat compose theme', 'brand colors jetpack compose cometchat', 'dark mode compose cometchat', 'custom row composable', 'custom message type compose'.
compatibility
Android minSdk >=28; compileSdk >=36; Kotlin >=2.1; AGP >=8.9.1; JVM target 11; com.cometchat:chatuikit-compose-android ^6 (Jetpack Compose cohort) — 6.0.x, verified 6.0.5; com.cometchat:chat-sdk-android ^5
license
MIT
metadata.author
CometChat
metadata.version
1.0.0
metadata.tags
cometchat android customization theming v6 compose dark-mode colorscheme

Ground truth: catalog android-v6.json + the Compose theme source. ⚠️ The theming API below was read from the INSTALLED 6.0.5 source and differs from the docs — see the callout. Fetch token names from color-resources; never invent one.

⚠️ Jetpack Compose cohort — theming is the CometChatTheme composable + colour-scheme factories; slots are @Composable lambdas. The Views cohort (XML theme attributes + ViewHolder listeners) is a separate skill.

Companion skills (read first)

  • cometchat-android-v6-core — install, credentials, init/login, the fetch map. Assumed here, never repeated.
  • cometchat-android-v6-compose-components — what exists and its param conventions.

Use this skill when

"match the chat to our brand", "use our typography", "support dark mode", "restyle rows or bubbles", "replace the empty/loading/error view", "add a long-press option", "render a custom message type", "translate the UI". Theming lives HERE — there is no separate theming skill.

Theming — the top mechanism (BAKED)

Wrap the kit UI in the CometChatTheme composable and override the colour scheme:

kotlin
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.Color
import com.cometchat.uikit.compose.theme.CometChatTheme
import com.cometchat.uikit.compose.theme.darkColorScheme
import com.cometchat.uikit.compose.theme.lightColorScheme

@Composable
fun AppChatTheme(content: @Composable () -> Unit) {
    // Pass named params — CometChatColorScheme is NOT a data class, so there is no .copy().
    // Setting `primary` DERIVES the whole extended ramp (extendedPrimaryColor50…900) for you.
    val scheme = if (isSystemInDarkTheme()) {
        darkColorScheme(primary = Color(0xFF8B7FFF))
    } else {
        lightColorScheme(primary = Color(0xFFF76808))
    }
    CometChatTheme(colorScheme = scheme) { content() }
}

CometChatTheme(colorScheme, shapes, typography, content) provides all three through composition locals; read them anywhere with CometChatTheme.colorScheme / .typography / .shapes. Follow the system by default on a fresh integration (isSystemInDarkTheme()), and override only the tokens you actually brand so future kit versions stay consistent.

⚠️ Docs drift — trust this file. The docs Compose tab teaches CometChatColorScheme.light() / .dark(). Those factories do not exist in 6.0.5: the real ones are top-level lightColorScheme() / darkColorScheme() in com.cometchat.uikit.compose.theme, configured by named params, not .copy() (CometChatColorScheme is a plain class). Logged internally. The compile gate rejects both wrong forms.

Customization mechanism map (pick the smallest one that does the job)

IntentMechanismDocs page (fetch for exact names)
brand colour, light/darkCometChatTheme(colorScheme = …) + lightColorScheme()/darkColorScheme()theme-introduction (Compose tab)
exact token namesCometChatColorScheme fieldscolor-resources
fonts / text stylesCometChatTypography (28 TextStyle named params: titleBold, heading1Bold, …), passed as CometChatTheme(typography = …)no shipped page documents Compose typography — theme-introduction is colours-only and component-styling covers Views (cometchatFontBold). Use the signature here; do not fetch.
restyle ONE componentstyle = CometChat<X>Style.default().copy(...) (style classes ARE data classes)component-styling
bubble look per typebubble style data classesmessage-bubble-styling
replace a REGION of a row@Composable slot params — itemView, leadingView, subtitleView, trailingViewcustomization-view-slots
empty / error / loadinghideEmptyState/hideErrorState/hideLoadingState + your own composablecustomization-state-views
long-press / composer actionsoptions / addOptions paramscustomization-menu-options
custom message TYPEbubble factories (see below)not the docs message-template page
custom text patternstextFormatters + CometChatTextFormatter/CometChatMentionsFormattercustomization-text-formatters
what a list fetchesconversationsRequestBuilder (and the per-list equivalents)customization-viewmodel-data
translate the UICometChatLocalizelocalize
in-app soundsCometChatSoundManagersound-manager
Show full SKILL.md (281 more words)Show less

What's swappable — slots are @Composable lambdas

kotlin
CometChatConversations(
    modifier = Modifier.fillMaxSize(),
    trailingView = { conversation, typing -> MyUnreadPill(conversation) },   // (Conversation, TypingIndicator?)
    options = { context, conversation -> myMenuItems(conversation) },
    hideEmptyState = true,                                                   // then render your own
    conversationsRequestBuilder = ConversationsRequest.ConversationsRequestBuilder()
        .setConversationType("user"),                                        // scope in the REQUEST, not a client filter
    onItemClick = { /* navigate */ },
)

Slot params take (@Composable (Conversation, TypingIndicator?) -> Unit)? on the conversations list, with the analogous shape on users/groups/members. Style params take a data class: style = CometChatConversationsStyle.default().copy(...).

Custom message types — bubble factories, not templates

Register factories on the message list for custom categories/types; createContentView runs before the message is known, bindContentView receives it. ⚠️ CometChatMessageTemplate and setTemplates are absent from the shipped 6.0.5 artifact (logged internally). The docs message-template page was corrected upstream (verified 2026-09-09): it is now "Message Bubble Factory" and teaches the factory API — fetch its Compose tab for the current signatures.

The rule

Custom UI goes INSIDE the component — a slot param, a style copy, a menu option, a formatter — never a composable stacked over a kit component with a Box, and never a forked component. If no slot exists, fetch the page's Compose tab before inventing UI; if there genuinely is no hook, say so rather than re-implementing the component.

Common pitfalls

CometChatColorScheme.light() from the docs (use lightColorScheme()) · calling .copy() on a colour scheme (not a data class — pass named params) · forgetting CometChatTheme { } around kit UI (falls back to defaults) · theming only light mode (no isSystemInDarkTheme() branch) · hardcoding colours per screen · Box-stacking custom UI instead of using a slot param · re-implementing a list to change one row · client-side filtering instead of a scoped request builder · emitting CometChatMessageTemplate.

Verify it works

Compile: ./gradlew :app:assembleDebug # in YOUR app (native-fence.mjs is a pack-repo gate, not installed by the CLI). On device: the brand colour appears on kit surfaces; toggle system dark mode → the UI follows with readable contrast; a slot composable renders INSIDE its component; state views appear on empty/error/loading; a changed menu option shows on long-press.

© cometchat, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/cometchat-android-v6-compose-customization of cometchat/cometchat-skills.

Open the folder on GitHubat commit 911b108

Compare with similar skills

Cometchat Android V6 Compose Customization 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 V6 Compose Customization compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cometchat Android V6 Compose Customization this skillcometchat/cometchat-skills129—~2kAutomated safety check: PassMIT
Material 3hamen/material-3-skill1.5k2 repos~7.8kAutomated safety check: PassMIT
STS Amethyst Launcher Design SystemModinMobileSTS/SlayTheAmethystModded400—~1.7kAutomated safety check: PassCustom licence
Compose Multiplatform Patternsmonta-app/ocpp-emulator1795 repos~2kAutomated safety check: PassApache-2.0
Android Compose Patternsmakifbaysal/tasktrooper109—~1.9kAutomated safety check: PassApache-2.0
Configuring Test Dependenciesskydoves/android-testing-skills333—~4.1kAutomated safety check: PassApache-2.0

Similar skills

  • Material 3

    hamen/material-3-skill

    Implement Google's Material Design 3 (Material You) UI system.

    1.5k GitHub starsUsed in 2 repos~7.8k tokens
    Frontend & DesignAuto-check passed
  • STS Amethyst Launcher Design System

    ModinMobileSTS/SlayTheAmethystModded

    Design system imported from the SlayTheAmethyst Android Jetpack Compose launcher: Material 3 surfaces, user-selected seed colors, light and dark themes and typography rules.

    400 GitHub stars~1.7k tokensUpdated 7 days ago
    Frontend & DesignAuto-check passed
  • Compose Multiplatform Patterns

    monta-app/ocpp-emulator

    Compose Multiplatform and Jetpack Compose patterns for KMP projects — state management, navigation, theming, performance, and platform-specific UI.

    179 GitHub starsUsed in 5 repos~2k tokens
    MobileAuto-check passed
  • Android Compose Patterns

    makifbaysal/tasktrooper

    A skill your agent uses when building native Android with Jetpack Compose - stateless composables, state hoisting, ViewModel-owned state, edge-to-edge, predictive back, adaptive layout, atomic…

    109 GitHub stars~1.9k tokensUpdated yesterday
    MobileAuto-check passed
  • Configuring Test Dependencies

    skydoves/android-testing-skills

    A skill your agent uses to wire the correct Gradle dependency matrix for Jetpack Compose UI tests.

    333 GitHub stars~4.1k tokensUpdated 4 mo ago
    MobileAuto-check passed
  • Android Accessibility

    Moustachauve/WLED-Android

    Expert checklist and prompts for auditing and fixing Android accessibility issues, especially in Jetpack Compose.

    169 GitHub starsUsed in 3 repos~471 tokens
    Frontend & DesignAuto-check passed

More from cometchat/cometchat-skills

All 97 skills in this repo
  • CometChat Android Calls SDK v5

    cometchat/cometchat-skills

    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.

    129 GitHub stars~5.2k tokensUpdated 2 days ago
    Auto-check passed
  • CometChat Android v5 Headless SDK

    cometchat/cometchat-skills

    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.

    129 GitHub stars~4k tokensUpdated 2 days ago
    Auto-check passed
  • CometChat Angular Component Picker

    cometchat/cometchat-skills

    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.

    129 GitHub stars~2.6k tokensUpdated 2 days ago
    Auto-check passed
  • CometChat Angular Features

    cometchat/cometchat-skills

    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.

    129 GitHub stars~2.6k tokensUpdated 2 days ago
    Auto-check passed
  • CometChat Angular Chat Placement

    cometchat/cometchat-skills

    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.

    129 GitHub stars~2.2k tokensUpdated 2 days ago
    Auto-check passed
  • Cometchat iOS V5 SDK

    cometchat/cometchat-skills

    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.

    129 GitHub stars~5.2k tokensUpdated 2 days ago
    Auto-check passed

Questions about Cometchat Android V6 Compose Customization

What does Cometchat Android V6 Compose Customization do?

Make the CometChat Android v6 UI match your app in the Jetpack Compose cohort — theming with the CometChatTheme composable and lightColorScheme/darkColorScheme, per-component style data classes…. Cometchat Android V6 Compose Customization is an agent skill from cometchat/cometchat-skills. Make the CometChat Android v6 UI match your app in the Jetpack Compose cohort — theming with the CometChatTheme composable and lightColorScheme/darkColorScheme, per-component style data classes, @Composable view slots, state views, menu options, text formatters, custom message rendering with bubble factories, localization and sounds.

When should I use Cometchat Android V6 Compose Customization?

Cometchat Android V6 Compose Customization fits situations like: tasks that involve Theming and dark mode; tasks that involve Android development; tasks that involve Linting and formatting.

How do I install Cometchat Android V6 Compose Customization in Claude Code?

Run `npx skills add cometchat/cometchat-skills --skill cometchat-android-v6-compose-customization -a claude-code`. Or copy the skill folder (skills/cometchat-android-v6-compose-customization in cometchat/cometchat-skills) into .claude/skills/cometchat-android-v6-compose-customization in your project. Claude Code loads it when a task matches its description.

How do I install Cometchat Android V6 Compose Customization in Codex?

Run `npx skills add cometchat/cometchat-skills --skill cometchat-android-v6-compose-customization -a codex`. Or copy the skill folder (skills/cometchat-android-v6-compose-customization in cometchat/cometchat-skills) into .agents/skills/cometchat-android-v6-compose-customization in your project. Codex loads it when a task matches its description.

Can I use Cometchat Android V6 Compose Customization 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-v6-compose-customization -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-v6-compose-customization, .gemini/skills/cometchat-android-v6-compose-customization, .github/skills/cometchat-android-v6-compose-customization and .opencode/skills/cometchat-android-v6-compose-customization in your project.

What does Cometchat Android V6 Compose Customization need to run?

SKILL.md names no scripts, command-line tools or credentials: Cometchat Android V6 Compose Customization is instructions for the agent only. Compatibility (from SKILL.md): Android minSdk >=28; compileSdk >=36; Kotlin >=2.1; AGP >=8.9.1; JVM target 11; com.cometchat:chatuikit-compose-android ^6 (Jetpack Compose cohort) — 6.0.x, verified 6.0.5; com.cometchat:chat-sdk-android ^5.

Does Cometchat Android V6 Compose Customization access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Cometchat Android V6 Compose Customization 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 V6 Compose Customization use?

Cometchat Android V6 Compose Customization 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 V6 Compose Customization use?

About 2k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Cometchat Android V6 Compose Customization?

Skills that share tags, products or a category with Cometchat Android V6 Compose Customization: Material 3 (hamen/material-3-skill, 1.5k stars), STS Amethyst Launcher Design System (ModinMobileSTS/SlayTheAmethystModded, 400 stars), Compose Multiplatform Patterns (monta-app/ocpp-emulator, 179 stars) and Android Compose Patterns (makifbaysal/tasktrooper, 109 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cometchat Android V6 Compose Customization?

cometchat (a GitHub organization) maintains it in cometchat/cometchat-skills, which has 129 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.