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.
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…
$ npx skills add cometchat/cometchat-skills --skill cometchat-react-native-placement -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install cometchat/cometchat-skills cometchat-react-native-placement --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "cometchat-react-native-placement" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-react-native-placement into .claude/skills/cometchat-react-native-placement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-react-native-placement", 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.
$skill-installer install https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-react-native-placementType 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.
$ npx skills add cometchat/cometchat-skills --skill cometchat-react-native-placement -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install cometchat/cometchat-skills cometchat-react-native-placement --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cometchat/cometchat-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/cometchat-react-native-placement .agents/skills/cometchat-react-native-placement && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cometchat-react-native-placement" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-react-native-placement into .agents/skills/cometchat-react-native-placement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-react-native-placement", 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.
$ npx skills add cometchat/cometchat-skills --skill cometchat-react-native-placement -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install cometchat/cometchat-skills cometchat-react-native-placement --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cometchat/cometchat-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/cometchat-react-native-placement .cursor/skills/cometchat-react-native-placement && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cometchat-react-native-placement" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-react-native-placement into .cursor/skills/cometchat-react-native-placement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-react-native-placement", 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.
$ gemini skills install https://github.com/cometchat/cometchat-skills.git --path skills/cometchat-react-native-placement--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add cometchat/cometchat-skills --skill cometchat-react-native-placement -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install cometchat/cometchat-skills cometchat-react-native-placement --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cometchat/cometchat-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/cometchat-react-native-placement .gemini/skills/cometchat-react-native-placement && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cometchat-react-native-placement" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-react-native-placement into .gemini/skills/cometchat-react-native-placement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-react-native-placement", 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.
$ gh skill install cometchat/cometchat-skills cometchat-react-native-placementInstalls 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).
$ npx skills add cometchat/cometchat-skills --skill cometchat-react-native-placement -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/cometchat/cometchat-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/cometchat-react-native-placement .github/skills/cometchat-react-native-placement && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cometchat-react-native-placement" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-react-native-placement into .github/skills/cometchat-react-native-placement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-react-native-placement", 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.
$ npx skills add cometchat/cometchat-skills --skill cometchat-react-native-placement -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install cometchat/cometchat-skills cometchat-react-native-placement --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cometchat/cometchat-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/cometchat-react-native-placement .opencode/skills/cometchat-react-native-placement && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cometchat-react-native-placement" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-react-native-placement into .opencode/skills/cometchat-react-native-placement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-react-native-placement", 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.
cometchat-react-native-placementWhere 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. 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.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 911b108. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
npmnpxFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
React Native >=0.77; @cometchat/chat-uikit-react-native ^5.4.0; @react-navigation/native ^7
From compatibility in the SKILL.md frontmatter.
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.
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.
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.
The full file from cometchat/cometchat-skills at commit 911b108, republished under its MIT licence (© cometchat). 713 words, ~1,891 tokens.
.claude/skills/cometchat-react-native-placement/SKILL.md (or your agent's skills folder).Ground truth:
@cometchat/chat-uikit-react-native@5+ catalogrn-v5.json. Docs:/ui-kit/react-native/react-native-conversation·react-native-tab-based-chat·expo-tab-based-chat. Fetch props viacore/references/docs-map.md.
cometchat-react-native-core — install, provider chain, init→login→render. Assumed, not repeated here.Navigation is not bundled. The documented stack:
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).
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:
navigation.navigate(...), not conditional renderingConditional 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.
Providers wrap the navigator, not the other way round. GestureHandlerRootView stays outermost:
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.
Two routes: the list, and the message pane. This is what an unscoped "add chat" should produce.
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().
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.
<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.
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:
| Surface | How it appears |
|---|---|
| thread replies | push a screen with CometChatThreadHeader |
| search | push a screen with CometChatSearch, wire onBack |
| group members | push a screen with CometChatGroupMembers |
| user/group details | you 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.
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.
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.
headerShown: false on any screen using CometChatMessageHeader.NavigationContainer outside the providers — screens mount unthemed.onBack to navigation.goBack().CometChatIncomingCall inside one screen — calls then only arrive on that screen.catalogs/rn-v5.json.npm run verify:fences:rn-v5 is green.© cometchat, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/cometchat-react-native-placement of cometchat/cometchat-skills.
Open the folder on GitHubat commit 911b108
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cometchat React Native Placement this skillcometchat/cometchat-skills | 129 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Frontend UI StandardsMaxHan7/frontend-ui-standards-skill | 106 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Frontend Designavibebuilder/claude-prime | 120 | — | ~2.1k | Automated safety check: Pass | MIT | |
| UniwindOhh-889/skyroc | 795 | — | ~1.4k | Automated safety check: Pass | MIT | |
| JSON Render Catalogyonatangross/orchestkit | 288 | — | ~6.4k | Automated safety check: Pass | MIT | |
| React Devtoolssanity-io/sanity | 6.4k | 3 repos | ~2.1k | Automated safety check: Pass | MIT |
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.
avibebuilder/claude-prime
Builds distinctive, production-grade UIs that avoid generic AI aesthetics.
Ohh-889/skyroc
Uniwind — Tailwind CSS v4 styling for React Native. An agent skill from Ohh-889/skyroc.
yonatangross/orchestkit
json-render component catalog patterns for AI-safe generative UI.
sanity-io/sanity
React DevTools CLI for AI agents. An agent skill from sanity-io/sanity.
aleqsio/screenmap
Generate a visual navigation map of an Expo / React Native or NativeScript app.
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.
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.
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.
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.
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.
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.
Works with
Categories
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.
Cometchat React Native Placement fits situations like: tasks that involve Cross-platform mobile apps; tasks that involve Design systems.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.