Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add cometchat/cometchat-skills --skill cometchat-react-native-expo-patternsgit clone --depth 1 https://github.com/cometchat/cometchat-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/cometchat/cometchat-skills/cometchat-react-native-expo-patterns)<a href="https://agentmods.dev/skills/cometchat/cometchat-skills/cometchat-react-native-expo-patterns"><img src="https://agentmods.dev/badge/skills/cometchat/cometchat-skills/cometchat-react-native-expo-patterns/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/cometchat/cometchat-skills/cometchat-react-native-expo-patterns"><img src="https://agentmods.dev/badge/skills/cometchat/cometchat-skills/cometchat-react-native-expo-patterns.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00078 | $0.01475 |
| Opus 5.5 | $0.00031 | $0.00590 |
| Sonnet 5.5 | $0.00016 | $0.00295 |
| Haiku 4.5 | $0.00008 | $0.00147 |
Grade A, and why
cometchat-react-native-expo-patterns scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 117 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Ground truth:
@cometchat/chat-uikit-react-native@5+ catalogrn-v5.json. Docs:/ui-kit/react-native/expo-integration·expo-conversation·expo-tab-based-chat.
Companion skills (read first)
cometchat-react-native-core— install, provider chain, init→login→render. Assumed, not repeated here.cometchat-react-native-bare-patterns— the bare React Native CLI equivalent. Use that one, not this, for a non-Expo app.
Use this skill when
- the project has
app.json/app.config.jswith anexpokey, orexpoinpackage.json - "add chat to my Expo app" · "chat isn't working in Expo Go"
Prerequisites & install
⚠️ Expo Go does not work — and this is the #1 support issue
The UI Kit ships custom native modules. Expo Go is a fixed prebuilt binary that cannot load them. There is no workaround, no config flag, and nothing to fix in code. You need a development build.
Symptom: the app runs in Expo Go but chat screens crash or render nothing, with a NativeModule error
that names gesture-handler / svg / video rather than CometChat — so it reads as unrelated.
npx expo run:ios # or: npx expo run:android
Both produce a development build. From then on use that build, not Expo Go.
Packages
Same list as bare RN, plus punycode, which is Expo-only:
npm install @cometchat/chat-uikit-react-native@5 @cometchat/chat-sdk-react-native@4
npm install @react-native-clipboard/clipboard \
react-native-svg react-native-video react-native-localize react-native-gesture-handler \
react-native-safe-area-context @react-native-async-storage/async-storage@^2.1.2 dayjs punycode
Native config lives in app.json — never in ios/ or android/
This is the whole Expo/bare divergence: Expo generates the native projects, so hand-editing
Info.plist or AndroidManifest.xml is pointless — the next prebuild overwrites it. Declare
permissions in app.json and let Expo write them:
{
"expo": {
"ios": {
"infoPlist": {
"NSCameraUsageDescription": "Camera access for video calls",
"NSMicrophoneUsageDescription": "Microphone access for voice/video calls"
}
},
"android": {
"permissions": [
"android.permission.INTERNET",
"android.permission.CAMERA",
"android.permission.MODIFY_AUDIO_SETTINGS",
"android.permission.RECORD_AUDIO",
"android.permission.ACCESS_NETWORK_STATE",
"android.permission.BLUETOOTH_CONNECT",
"android.permission.VIBRATE"
]
}
}
}
BLUETOOTH_CONNECT(Android 12+) lets calls route audio to a Bluetooth headset —/calls/react-native/setuplists it; the calls SDK's own manifest only merges the legacyBLUETOOTH.- No
READ_/WRITE_EXTERNAL_STORAGE, though theexpo-integrationpage lists them: they are no-ops on modern Android (WRITE from 11, READ from 13), and the UI Kit's own manifest already merges them for older devices.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 117 lines · 78 tokens per session scan A 6fffcdee9cb5
cometchat-react-native-expo-patterns is a skill published in the GitHub repository cometchat/cometchat-skills (157 stars, last pushed 12d ago), licensed MIT. It adds 78 tokens to every session and 1,475 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-12.
Other skills, from other repositories
reverse-engineering-android-malware-with-jadx
Reverse engineers malicious Android APK files using JADX decompiler to analyze Java/Kotlin source code, identify malicious functionality including data theft, C2 communication, privilege escalation, and overlay attacks. Examines manifest permissions, receivers, services, and native libraries. Activates for requests…
flutter-codestyle
Custom Instructions: Senior Flutter & Dart Engineer.
ios-builder
Turn an Apple app idea into a concrete implementation using Swift, Apple technology references, release notes, and separately editable Icon Composer layers. Use for creating or extending native Apple apps; requires a coding environment for file edits and Xcode for iOS builds.
apple-hig-sf-symbols
Use when choosing, reviewing, or implementing SF Symbols in an Apple-platform app — picking meaningful symbols, keeping the same concept on the same symbol everywhere, and handling variants, rendering modes, and accessibility.
apple-app-intents
Use when exposing app features to App Intents, Shortcuts, Siri, Spotlight, widgets, controls, or system actions — small safe AppIntents, AppShortcutsProvider, AppEnum/AppEntity, parameters, and open-vs-background behavior.
macos-permissions-privacy
Use when a macOS app needs a TCC permission or touches private data — the map of which API, Info.plist key, and entitlement each permission needs, pre-prompt explanation patterns, denied-state recovery with System Settings deep links, and honest privacy copy.