Agent skill

Cometchat React Native Placement

by cometchat in cometchat/cometchat-skills

Where the CometChat React Native UI Kit v5 surfaces go in a real app — one screen per route on a stack navigator, tab-based layouts, growing from the core surface to the full app, and embedding chat…

MITAuto-check passedMobile

Install Cometchat React Native Placement

skills CLI
$ npx skills add cometchat/cometchat-skills --skill cometchat-react-native-placement -a claude-code

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

GitHub CLI
$ gh skill install cometchat/cometchat-skills cometchat-react-native-placement --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-react-native-placement .claude/skills/cometchat-react-native-placement && 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-react-native-placement
GitHub stars
129
Token cost
~1.9k tokens
SKILL.md length
713 words
Files
1
Skills in repo
97
Repo updated
First seen
Licence
MIT

At a glance

Where the CometChat React Native UI Kit v5 surfaces go in a real app — one screen per route on a stack navigator, tab-based layouts, growing from the core surface to the full app, and embedding chat…

  • Works in 6 steps: Two headers — headerShown: false on any… → Message screen inside the tab navigator… → Side panels ported from web — push a… → …
  • Tasks that involve Cross-platform mobile apps
  • SKILL.md covers Companion skills (read first), Use this skill when, Prerequisites & install and The rule that governs every…, plus 8 more sections
  • Calls npm and npx

What it does

Cometchat React Native Placement is an agent skill from cometchat/cometchat-skills. Where the CometChat React Native UI Kit v5 surfaces go in a real app — one screen per route on a stack navigator, tab-based layouts, growing from the core surface to the full app, and embedding chat in an existing screen. Triggers: add a chat tab React Native, chat screen navigation RN, react-navigation CometChat, embed chat in my RN app, full chat app layout.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: React Native =0.77; @cometchat/chat-uikit-react-native ^5.4.0; @react-navigation/native ^7

It sits in Mobile, covering Cross-platform mobile apps and Design systems. It works with CometChat, React Native and React. 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 Cross-platform mobile apps
  • Tasks that involve Design systems

Example prompts

  • “/cometchat-react-native-placement”

Requirements

  • Node.js
  • Compatibility (from SKILL.md): React Native >=0.77; @cometchat/chat-uikit-react-native ^5.4.0; @react-navigation/native ^7

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Two headers — headerShown: false on any screen using CometChatMessageHeader.
  2. Message screen inside the tab navigator — tab bar overlaps the composer.
  3. Side panels ported from web — push a screen instead.
  4. NavigationContainer outside the providers — screens mount unthemed.
  5. Hand-rolled back buttons — use the navigator's; wire onBack to navigation.goBack().
  6. CometChatIncomingCall inside one screen — calls then only arrive on that screen.

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

    Shell commands in SKILL.md call:

    • npm
    • npx

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

  • Network

    No URLs in SKILL.md. Its commands use npm and npx, which can reach the network depending on how they are called.

    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

    React Native >=0.77; @cometchat/chat-uikit-react-native ^5.4.0; @react-navigation/native ^7

    From compatibility in the SKILL.md frontmatter.

Context cost

Cometchat React Native Placement loads about 1.9k tokens when it runs. Until then it costs about 99 tokens; SKILL.md has 713 words of instructions outside code blocks.

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

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). 713 words, ~1,891 tokens.

Download SKILL.mdSave it as .claude/skills/cometchat-react-native-placement/SKILL.md (or your agent's skills folder).
name
cometchat-react-native-placement
description
Where the CometChat React Native UI Kit v5 surfaces go in a real app — one screen per route on a stack navigator, tab-based layouts, growing from the core surface to the full app, and embedding chat in an existing screen. Triggers: add a chat tab React Native, chat screen navigation RN, react-navigation CometChat, embed chat in my RN app, full chat app layout.
compatibility
React Native >=0.77; @cometchat/chat-uikit-react-native ^5.4.0; @react-navigation/native ^7
license
MIT
metadata.author
CometChat
metadata.version
1.0.0
metadata.tags
chat cometchat react-native placement navigation layout tabs screens

Ground truth: @cometchat/chat-uikit-react-native@5 + catalog rn-v5.json. Docs: /ui-kit/react-native/react-native-conversation · react-native-tab-based-chat · expo-tab-based-chat. Fetch props via core/references/docs-map.md.

Companion skills (read first)

  • cometchat-react-native-core — install, provider chain, init→login→render. Assumed, not repeated here.

Use this skill when

  • "add a chat tab" · "put chat on its own screen" · "chat inside my existing app"
  • "build the whole chat app" · "how do I navigate from the list to a conversation"

Prerequisites & install

Navigation is not bundled. The documented stack:

bash
npm install @react-navigation/native @react-navigation/native-stack @react-navigation/bottom-tabs
npm install react-native-screens react-native-safe-area-context

⚠️ Align these to YOUR React Native version — do not take the latest. The UI Kit declares its peers as "*", so nothing constrains them for you. react-native-screens 4.x / safe-area-context 5.x use Fabric codegen that RN 0.77's @react-native/codegen cannot parse; Metro then fails with Unknown prop type for "moduleId" / "onFinishTransitioning" — an error naming a native codegen file, never CometChat. Run npx react-native doctor, or match a known-good set for your RN (on 0.77: gesture-handler@2.32.0 + screens@4.4.0 + safe-area-context@4.14.0).

The rule that governs every layout: one screen per route

This is the single biggest difference from the web UI Kit. React places a list and a message pane side by side and toggles side panels with state. On a phone that is wrong:

  • each surface is its own screen on a stack navigator
  • navigation is navigation.navigate(...), not conditional rendering
  • back is the hardware/gesture back button — the OS provides it; do not hand-roll one
  • there are no side panels. Search, thread and details are screens you push.

Conditional rendering ({selected ? <Chat/> : <List/>}) appears in the simplest docs recipe and is fine for a single-screen demo, but it breaks the Android back button and loses navigation state. Anything beyond a demo uses the navigator.

Provider chain vs navigator — order matters

Providers wrap the navigator, not the other way round. GestureHandlerRootView stays outermost:

tsx
import { GestureHandlerRootView } from "react-native-gesture-handler";
import { SafeAreaProvider } from "react-native-safe-area-context";
import { NavigationContainer } from "@react-navigation/native";
import {
  CometChatI18nProvider, CometChatThemeProvider,
} from "@cometchat/chat-uikit-react-native";

export const Root = ({ children }: { children: React.ReactNode }) => (
  <GestureHandlerRootView style={{ flex: 1 }}>
    <SafeAreaProvider>
      <CometChatI18nProvider>
        <CometChatThemeProvider>
          <NavigationContainer>{children}</NavigationContainer>
        </CometChatThemeProvider>
      </CometChatI18nProvider>
    </SafeAreaProvider>
  </GestureHandlerRootView>
);

Putting NavigationContainer outside the providers means screens mount without a theme and the kit falls back to defaults.

Placement 1 — chat on its own screen (the default)

Two routes: the list, and the message pane. This is what an unscoped "add chat" should produce.

tsx
import { createNativeStackNavigator } from "@react-navigation/native-stack";
import { CometChatConversations } from "@cometchat/chat-uikit-react-native";

const Stack = createNativeStackNavigator();

const ConversationsScreen = () => <CometChatConversations />;
const MessagesScreen = () => null; // header + list + composer — see `core`

export const ChatStack = () => (
  <Stack.Navigator>
    <Stack.Screen name="Conversations" component={ConversationsScreen} />
    <Stack.Screen name="Messages" component={MessagesScreen} options={{ headerShown: false }} />
  </Stack.Navigator>
);

headerShown: false on the message screen because CometChatMessageHeader is the header — leaving the native header on gives you two stacked headers.

The list screen navigates on onItemPress; the message screen reads user/group from route params, sets showBackButton (it defaults to false on RN) and wires onBack to navigation.goBack().

Placement 2 — a chat tab in an existing app

Chat becomes one tab beside your own screens. The bottom-tab navigator holds the tabs; a stack sits above it so the message screen covers the tab bar when a conversation opens.

tsx
<Stack.Navigator>
  <Stack.Screen name="Tabs" component={TabNavigator} options={{ headerShown: false }} />
  <Stack.Screen name="Messages" component={MessagesScreen} options={{ headerShown: false }} />
</Stack.Navigator>;

If Messages lives inside the tab navigator instead, the tab bar stays visible over the composer — the classic "keyboard and tab bar fighting" bug.

Show full SKILL.md (273 more words)Show less

Placement 3 — grow to the full app

Add tabs for the other directories as they are asked for, each its own screen: CometChatConversations (Chats) · CometChatUsers (Users) · CometChatGroups (Groups) · CometChatCallLogs (Calls). Push, don't panel:

SurfaceHow it appears
thread repliespush a screen with CometChatThreadHeader
searchpush a screen with CometChatSearch, wire onBack
group memberspush a screen with CometChatGroupMembers
user/group detailsyou build this — kit v5 ships no details component (SDK fallback, see core/references/docs-map.md)

CometChatIncomingCall is the exception: mount it once above the navigator so a call can arrive on any screen.

Placement 4 — embed in an existing screen

Chat as part of a screen rather than the whole of it. The container must still be flex: 1 with minHeight: 0; a fixed height breaks when the keyboard opens.

Sizing and the keyboard

Every ancestor of a kit component is flex: 1. A scrolling column also needs minHeight: 0. Verify with the keyboard open — the composer must stay visible, which a simulator can mislead you about.

Common pitfalls

  1. Two headers — headerShown: false on any screen using CometChatMessageHeader.
  2. Message screen inside the tab navigator — tab bar overlaps the composer.
  3. Side panels ported from web — push a screen instead.
  4. NavigationContainer outside the providers — screens mount unthemed.
  5. Hand-rolled back buttons — use the navigator's; wire onBack to navigation.goBack().
  6. CometChatIncomingCall inside one screen — calls then only arrive on that screen.

Verify it works

  • Every emitted component appears in catalogs/rn-v5.json.
  • npm run verify:fences:rn-v5 is green.
  • On device: hardware back returns from the message screen; opening search/thread and pressing back returns cleanly; the composer survives the keyboard; a call arrives while on any tab.

© 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-react-native-placement of cometchat/cometchat-skills.

Open the folder on GitHubat commit 911b108

Compare with similar skills

Cometchat React Native Placement 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 React Native Placement compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cometchat React Native Placement this skillcometchat/cometchat-skills129—~1.9kAutomated safety check: PassMIT
Frontend UI StandardsMaxHan7/frontend-ui-standards-skill106—~2.4kAutomated safety check: PassMIT
Frontend Designavibebuilder/claude-prime120—~2.1kAutomated safety check: PassMIT
UniwindOhh-889/skyroc795—~1.4kAutomated safety check: PassMIT
JSON Render Catalogyonatangross/orchestkit288—~6.4kAutomated safety check: PassMIT
React Devtoolssanity-io/sanity6.4k3 repos~2.1kAutomated safety check: PassMIT

Similar skills

  • Frontend UI Standards

    MaxHan7/frontend-ui-standards-skill

    A skill your agent uses when implementing, refactoring, or reviewing frontend UI across SwiftUI, React, React Native, Flutter, web, or mobile apps.

    106 GitHub stars~2.4k tokensUpdated 3 mo ago
    Frontend & DesignAuto-check passed
  • Frontend Design

    avibebuilder/claude-prime

    Builds distinctive, production-grade UIs that avoid generic AI aesthetics.

    120 GitHub stars~2.1k tokensUpdated 4 mo ago
    Frontend & DesignAuto-check passed
  • Uniwind

    Ohh-889/skyroc

    Uniwind — Tailwind CSS v4 styling for React Native. An agent skill from Ohh-889/skyroc.

    795 GitHub stars~1.4k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check passed
  • JSON Render Catalog

    yonatangross/orchestkit

    json-render component catalog patterns for AI-safe generative UI.

    288 GitHub stars~6.4k tokensUpdated today
    Frontend & DesignAuto-check passed
  • React Devtools

    sanity-io/sanity

    Official

    React DevTools CLI for AI agents. An agent skill from sanity-io/sanity.

    6.4k GitHub starsUsed in 3 repos~2.1k tokens
    MobileAuto-check passed
  • Screenmap

    aleqsio/screenmap

    Generate a visual navigation map of an Expo / React Native or NativeScript app.

    239 GitHub stars~7.2k tokensUpdated 2 days ago
    MobileAuto-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

Categories

Questions about Cometchat React Native Placement

What does Cometchat React Native Placement do?

Where the CometChat React Native UI Kit v5 surfaces go in a real app — one screen per route on a stack navigator, tab-based layouts, growing from the core surface to the full app, and embedding chat…. Cometchat React Native Placement is an agent skill from cometchat/cometchat-skills. Where the CometChat React Native UI Kit v5 surfaces go in a real app — one screen per route on a stack navigator, tab-based layouts, growing from the core surface to the full app, and embedding chat in an existing screen.

When should I use Cometchat React Native Placement?

Cometchat React Native Placement fits situations like: tasks that involve Cross-platform mobile apps; tasks that involve Design systems.

How do I install Cometchat React Native Placement in Claude Code?

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

How do I install Cometchat React Native Placement in Codex?

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

Can I use Cometchat React Native Placement 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-react-native-placement -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-react-native-placement, .gemini/skills/cometchat-react-native-placement, .github/skills/cometchat-react-native-placement and .opencode/skills/cometchat-react-native-placement in your project.

What does Cometchat React Native Placement need to run?

Going by SKILL.md and its folder, Cometchat React Native Placement needs the command-line tools its instructions call (npm and npx). Our summary lists: Node.js. Compatibility (from SKILL.md): React Native >=0.77; @cometchat/chat-uikit-react-native ^5.4.0; @react-navigation/native ^7.

Does Cometchat React Native Placement access the network?

SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Cometchat React Native Placement 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 React Native Placement use?

Cometchat React Native Placement 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 React Native Placement use?

About 1.9k tokens (SKILL.md is roughly 7.6k 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 React Native Placement?

Skills that share tags, products or a category with Cometchat React Native Placement: Frontend UI Standards (MaxHan7/frontend-ui-standards-skill, 106 stars), Frontend Design (avibebuilder/claude-prime, 120 stars), Uniwind (Ohh-889/skyroc, 795 stars) and JSON Render Catalog (yonatangross/orchestkit, 288 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cometchat React Native Placement?

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.