The skills work inside your existing project with your existing agent. They
don’t scaffold a throwaway demo — they detect your setup and integrate CometChat
into the app you’re already building.
Prerequisites
- Node.js 18+ — the installer runs through
npx, so there’s nothing to install globally. - A CometChat account — sign up free to get an app’s App ID, Region, and Auth Key.
- An existing app on one of the supported platforms.
- One of the supported AI coding agents below.
Supported platforms
The installer detects your platform from the project — you don’t tell it which one.
If it can’t detect a supported setup (for example at a monorepo root), it tells you
instead of guessing; run
add inside the app’s folder. (The one time you name a
platform yourself is the headless SDK skills.)Install
Run the installer in your project root:cometchat-docs) for
that agent; pass --no-mcp to skip it. In Claude Code, approve cometchat-docs
when claude asks on first start in the project — until then claude mcp list
shows it as Pending approval, and the skills fall back to the docs site. To
install for a different agent, pass --ide:
Supported agents
Claude Code, Kiro, and Replit get a native
SKILL.md tree. The other agents get
an orienting router plus a ./.cometchat/skills tree. Add --global (Claude
Code only) to install into your user-level ~/.claude/skills instead of the
project.Use it
Open your project in your agent and prompt it:cometchat dispatcher detects your platform and routes to cometchat-onboarding,
which walks a short discover → understand → plan → approve flow. Once you
approve the plan, it hands a scoped build directive to your platform’s core skill
(for example cometchat-react-v7-core, cometchat-ios-core, or
cometchat-flutter-v6-core) and pulls in the other skills as the plan needs them
(components, placement, theming, features, calls, push).
Keep iterating in plain language afterward:
- “Add message reactions and threaded replies.”
- “Switch the chat to dark mode and match my brand color.”
- “Add a group details side panel.”
- “Set up production authentication.”
Connect your credentials
You usually don’t have to paste your App ID / Region / Auth Key by hand. During the build, when the skill notices they’re missing, it offers two paths and defaults to fetching them from your dashboard:- Fetch from your dashboard (recommended) — the skill runs the standalone
CometChat CLI for you, on demand: it opens the dashboard login in your
browser, lets you pick one of your existing apps, pulls the credentials,
and writes a neutral
.cometchat/config.json. You can also run the CLI yourself — it works on its own, in a script, or in CI. - Paste manually — copy App ID, Region, and Auth Key from Dashboard → Your App → Credentials if you’d rather not log in.
What’s in the pack
Task-shaped skills the agent loads on demand.add installs the shared skills plus
the skill set for your platform only, so one platform’s skills never answer
another platform’s prompts.
Shared skills (installed for every platform)
Platform skills
Every UI Kit platform ships a
core skill (install · credentials · init → login →
render · the golden-path chat surface) plus the task skills below. The set differs
per platform:
Building your own UI
Want voice/video calling without a UI Kit? The headless Calls SDK v5 skills — and the headless Android Chat SDK v5 skill — aren’t installed byadd on its own.
Ask for them with --family, which adds them next to your platform’s UI Kit skills:
If you ask for calling-only in a project without a UI Kit, onboarding walks you
through the choice and tells you which of these to install.
Two things to know about the Android rows:
--family android-sdk and --family android-calls share the cometchat-android-v5- folder, so installing either
brings in both the Android Chat SDK and Calls SDK skills.And for the router-file agents (every agent other than Claude Code, Kiro and
Replit), the managed router block in AGENTS.md (and the equivalent files) always
points to the last family you installed. --family takes a single value and
replaces detection, so it can’t be combined with your platform in one run — after a
--family run, re-run npx @cometchat/skills add --ide <agent> without
--family to point the block back at your UI Kit skills. The skill folders in
.cometchat/skills are additive, so the calls skills stay installed either way.Example prompts
Everything starts from one prompt — “add chat to my app” — then you refine in plain language. Example prompts, grouped by goal: Get started- “Add chat to my app.” — the default: a conversation list + message view
- “Add 1:1 direct messaging between my users.”
- “Add group chat with file sharing.”
- “Build a full chat app with Chats, Users, and Calls tabs.”
- “Add a support chat widget in the bottom-right corner.”
- “Add a floating chat popup I can toggle open and closed.”
- “Put chat in a sidebar next to my app.”
- “Embed a chat panel on my dashboard page.”
- “Add message reactions, typing indicators, and read receipts.”
- “Add threaded replies and @mentions.”
- “Add image and file sharing.”
- “Add message search.”
- “Add polls and stickers.”
- “Add voice and video calling with a click-to-call button.”
- “Add smart replies and conversation summaries.”
- “Add an AI assistant to the chat.”
- “Turn on moderation so banned words are blocked before delivery.”
- “Switch the chat to dark mode and match my brand color.”
- “Make the chat follow the user’s system light/dark setting.”
- “Set up production authentication with auth tokens.”
- “Add web push notifications.”
- “Upgrade my app to the latest UI Kit version.”
Migrate from another chat provider
Already using a different chat provider and want to move to CometChat? One prompt does the whole thing. (Already on CometChat and upgrading the UI Kit instead? That’s a different job — say “Upgrade my app to the latest UI Kit version” from the section above.)- “Migrate my app to CometChat.”
init → login, maps every feature that has a CometChat equivalent, removes the ones
that don’t (and lists them for you), and verifies the build. Your own UI is
preserved when you built on the provider’s SDK; the CometChat UI Kit takes over
where you used the provider’s UI Kit.
Before you start
- Create your CometChat app first, and put its credentials in place. Sign up at
app.cometchat.com and create an app — the migration never
creates one for you. It also won’t ask you for your app credentials: it reads them
from
.cometchat/config.jsonor your environment, and writes placeholders (with an “add your credentials” action item) if it finds neither. So set them up first — see Connect your credentials — or you’ll get a build full of placeholders to fill in later. - Create a full-access REST API key for the history import. Unlike the app credentials, the agent does ask you for this one (and your current provider’s key) when it runs the import.
- Node.js 18 or newer, for
npxand the data-import script. - Your app should build today on your current provider — migrating an app that doesn’t build first only hides which errors were yours.
- Start from a clean git branch. The agent works on a new
cometchat-migrationbranch and never commits, so the diff stays easy to review.
Safe to run on a real repo: it works on its own branch and never commits, and it never
deletes your own app code — where your code shares a file with the provider’s, it’s
rewired, not removed. To leave no trace of the old provider it does go beyond deleting
SDK calls, though: it updates your README, setup/deploy guides and
.env.example to
describe CometChat, renames provider-named identifiers (e.g. providerUserId → userId),
and removes docs that describe the old provider’s product (its changelog or docs pages).
Review the branch diff before you merge.Bringing your history across
The migration also prepares a data-import script for your users, groups and messages. When the app migration is done, the agent tells you the script is ready for data import and asks for your API keys (or the relevant credentials) — for both your current provider and your CometChat app. Once you provide them, the agent runs the import for you — a dry run first, showing the users, groups, members and messages it will import, then the real import. You don’t run anything by hand.CometChat retains messages for the last 6 months by default, so the import
brings over history from that window. To import messages older than 6 months,
reach out to CometChat and we’ll help you import the older history.
Choosing a cut-over strategy
- Hard switch (default). Export from your current provider, import into CometChat, then deploy the migrated app. Simplest — do it in a maintenance window so no messages are sent mid-copy. The generated script does exactly this.
- Zero-downtime live migration. Keep both systems in sync while users move onto the new build gradually. This one is set up with CometChat’s team — contact sales. Choose it if you can’t take a maintenance window.
Before you go live
Switch login from the development Auth Key to server-minted auth tokens. The Auth Key is for development only; in production your server mints a per-user auth token and the client logs in withloginWithAuthToken().
The agent leaves this as an action item and, where your app already has a token server,
wires it for you.
Manage the skills
- Update — re-run
npx @cometchat/skills addto pull the latest skills; it overwrites the installed skill tree in place. - Inspect —
npx @cometchat/skills listlists the skills the pack ships, andnpx @cometchat/skills doctorruns an environment health check. - Uninstall — there’s no uninstall command. Remove what
addwrote for your agent:- The skill files —
.claude/skills/cometchat*(Claude Code),.kiro/skills/cometchat*(Kiro),.agents/skills/cometchat*(Replit), or./.cometchat/skills(every other agent). For Claude Code, Kiro, and Replit, also delete the shared filesaddputs at the top of that folder:RULES.md,peers.yaml,catalogs/, and thefeatures*.json/contracts*.jsonfiles. For a--globalinstall, use~/.claude/skillsinstead. - The router block — for the other agents,
addalso writes a block between<!-- cometchat-skills:start -->and<!-- cometchat-skills:end -->into the agent’s instruction file:AGENTS.md(Cursor, Codex, Antigravity, Continue),.github/copilot-instructions.md(Copilot),GEMINI.md(Gemini),.windsurfrules(Windsurf),.clinerules/cometchat.md— or.clinerulesitself when you already have that as a file — (Cline), orCONVENTIONS.md(Aider). Delete that block and keep the rest of the file. - The Docs MCP entry — remove the
cometchat-docsserver from.mcp.json(Claude Code),.cursor/mcp.json(Cursor),.gemini/settings.json(Gemini), or.codex/config.toml(Codex). For a--globalClaude Code install, runclaude mcp remove --scope user cometchat-docs. Other agents get no MCP entry.
- The skill files —
- Version control — commit the skill files so your whole team shares the same setup. Do not commit
.cometchat/config.jsonor the generated env file — they hold your Auth Key. (Flutter is the exception: commit thecometchat-settings.jsonplaceholder with an emptyauthKey, as noted above — a missing asset breaksflutter build— and keep the real credentials local.)
Troubleshooting
Compatibility
Next steps
MCP Integration
Connect CometChat to any Model Context Protocol–compatible agent
CometChat CLI
Fetch credentials and manage the skills from your terminal
React UI Kit
The manual React setup the skills automate
Angular UI Kit
The manual Angular setup the skills automate
React Native UI Kit
The manual React Native setup the skills automate
iOS UI Kit
The manual iOS setup the skills automate
Android UI Kit
The manual Android setup the skills automate
Flutter UI Kit
The manual Flutter setup the skills automate