Skip to main content
CometChat Agent Skills teach your AI coding agent how to build with CometChat. Install the skills once, then open your project and say “add chat to my app” — the agent has a short conversation with you (framework, intent, placement, credentials), then writes production-grade integration code directly into the files you already have. The skills cover six UI Kits — React v7, Angular v5, React Native v5, iOS v5, Android v6, and Flutter v6. They author against the official CometChat task guides and verify their output against them, so what the agent writes builds and runs against the current published UI Kit — not a hallucinated API.
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

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:
It detects your platform, installs that platform’s skills, and installs them for Claude Code by default. It also connects the CometChat Docs MCP server (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:
or type the dispatcher directly:
The 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.
Either way, the skill then writes your platform’s config from those credentials — the CLI only fetches them and never touches your app code:
Keep credentials out of version control. Both .cometchat/config.json and the generated credentials file contain your Auth Key. Make sure they’re in .gitignore — for example, Vite, CRA, and Astro ignore only *.local (not .env), so add .env yourself. The Auth Key is for development only: in production, mint a short-lived per-user auth token on your backend and log in with it (loginWithAuthToken() on web) — never ship the Auth Key to a production client.Flutter is the exception: cometchat-settings.json is a registered asset, so a missing file breaks flutter build on a fresh clone. Don’t gitignore it — commit a placeholder with an empty authKey, and fill in the real credentials locally and at build time.

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 by add 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.
What the task skills do:

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.”
Where chat lives
  • “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.”
Features
  • “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.”
Calling & AI
  • “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.”
Look & feel
  • “Switch the chat to dark mode and match my brand color.”
  • “Make the chat follow the user’s system light/dark setting.”
Ship it
  • “Set up production authentication with auth tokens.”
  • “Add web push notifications.”
  • “Upgrade my app to the latest UI Kit version.”
The agent plans each change with you, then writes the integration into your existing files — you don’t have to know the component or prop names.

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.”
The agent detects the provider you’re on and migrates your app end to end in one run: it swaps the data layer (or your UI components) over to CometChat, wires 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.json or 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 npx and 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-migration branch 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.
See Data Import and Migration for both approaches, and the Data Import API for the limits the import script respects.

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 with loginWithAuthToken(). 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 add to pull the latest skills; it overwrites the installed skill tree in place.
  • Inspect — npx @cometchat/skills list lists the skills the pack ships, and npx @cometchat/skills doctor runs an environment health check.
  • Uninstall — there’s no uninstall command. Remove what add wrote 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 files add puts at the top of that folder: RULES.md, peers.yaml, catalogs/, and the features*.json / contracts*.json files. For a --global install, use ~/.claude/skills instead.
    • The router block — for the other agents, add also 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 .clinerules itself when you already have that as a file — (Cline), or CONVENTIONS.md (Aider). Delete that block and keep the rest of the file.
    • The Docs MCP entry — remove the cometchat-docs server from .mcp.json (Claude Code), .cursor/mcp.json (Cursor), .gemini/settings.json (Gemini), or .codex/config.toml (Codex). For a --global Claude Code install, run claude mcp remove --scope user cometchat-docs. Other agents get no MCP entry.
  • Version control — commit the skill files so your whole team shares the same setup. Do not commit .cometchat/config.json or the generated env file — they hold your Auth Key. (Flutter is the exception: commit the cometchat-settings.json placeholder with an empty authKey, as noted above — a missing asset breaks flutter 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