Liquid Glass Widgets
sdegenaar/liquid_glass_widgets
Mastery guide and architectural rules for liquidglasswidgets.
Add voice & video calling to a Flutter app with the CometChat v6 UI Kit — turn calling on in settings, wire the native config and the root navigatorKey (the kit presents incoming/outgoing call…
$ npx skills add cometchat/cometchat-skills --skill cometchat-flutter-v6-calls -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install cometchat/cometchat-skills cometchat-flutter-v6-calls --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-flutter-v6-calls .claude/skills/cometchat-flutter-v6-calls && 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-flutter-v6-calls" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-flutter-v6-calls into .claude/skills/cometchat-flutter-v6-calls/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-flutter-v6-calls", 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-flutter-v6-callsType 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-flutter-v6-calls -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install cometchat/cometchat-skills cometchat-flutter-v6-calls --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-flutter-v6-calls .agents/skills/cometchat-flutter-v6-calls && 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-flutter-v6-calls" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-flutter-v6-calls into .agents/skills/cometchat-flutter-v6-calls/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-flutter-v6-calls", 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-flutter-v6-calls -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install cometchat/cometchat-skills cometchat-flutter-v6-calls --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-flutter-v6-calls .cursor/skills/cometchat-flutter-v6-calls && 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-flutter-v6-calls" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-flutter-v6-calls into .cursor/skills/cometchat-flutter-v6-calls/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-flutter-v6-calls", 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-flutter-v6-calls--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-flutter-v6-calls -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install cometchat/cometchat-skills cometchat-flutter-v6-calls --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-flutter-v6-calls .gemini/skills/cometchat-flutter-v6-calls && 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-flutter-v6-calls" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-flutter-v6-calls into .gemini/skills/cometchat-flutter-v6-calls/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-flutter-v6-calls", 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-flutter-v6-callsInstalls 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-flutter-v6-calls -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-flutter-v6-calls .github/skills/cometchat-flutter-v6-calls && 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-flutter-v6-calls" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-flutter-v6-calls into .github/skills/cometchat-flutter-v6-calls/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-flutter-v6-calls", 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-flutter-v6-calls -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-flutter-v6-calls --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-flutter-v6-calls .opencode/skills/cometchat-flutter-v6-calls && 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-flutter-v6-calls" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-flutter-v6-calls into .opencode/skills/cometchat-flutter-v6-calls/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-flutter-v6-calls", 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-flutter-v6-callsAdd voice & video calling to a Flutter app with the CometChat v6 UI Kit — turn calling on in settings, wire the native config and the root navigatorKey (the kit presents incoming/outgoing call…
Cometchat Flutter V6 Calls is an agent skill from cometchat/cometchat-skills. Add voice & video calling to a Flutter app with the CometChat v6 UI Kit — turn calling on in settings, wire the native config and the root navigatorKey (the kit presents incoming/outgoing call screens itself), and add call-log surfaces. Triggers: 'add voice and video calls in flutter', 'add calling to my flutter chat', 'enable video call flutter', 'add call buttons flutter', 'show call logs flutter'.
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Flutter =3.38.9; cometchatchatuikit ^6 (6.1.x, verified 6.1.0); cometchatcallssdk ^5 (5.0.x — separate package)
It sits in Mobile, covering Cross-platform mobile apps and Design systems. It works with Flutter, CometChat, Android and iOS. 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.
4 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:
flutterFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
AUTH_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Flutter >=3.38.9; cometchat_chat_uikit ^6 (6.1.x, verified 6.1.0); cometchat_calls_sdk ^5 (5.0.x — separate package)
From compatibility in the SKILL.md frontmatter.
Cometchat Flutter V6 Calls loads about 2.2k tokens when it runs. Until then it costs about 108 tokens; SKILL.md has 887 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). 887 words, ~2,232 tokens.
.claude/skills/cometchat-flutter-v6-calls/SKILL.md (or your agent's skills folder).Ground truth: the call UI ships INSIDE
cometchat_chat_uikit, but in a second barrel, and the WebRTC engine is a separate package (cometchat_calls_sdk). Every symbol below is catalog-verified against 6.1.0. Exhaustive props: FETCH the twin via../cometchat-flutter-v6-core/references/docs-map.md(call-features·incoming-call·outgoing-call·call-logs·call-buttons). APPEND to the user's app — additive wiring only.
cometchat-flutter-v6-core — install, credentials, the settings asset, init→login→render. This skill ASSUMES it (calling rides the SAME init).cometchat-flutter-v6-components — the widget catalog.cometchat-flutter-v6-placement — where call surfaces sit in the app shell (incoming calls need only the root navigatorKey — no widget)."add voice & video calls", "enable video call", "add call buttons", "show call logs". Precondition: chat already works (core done).
cometchat_chat_uikit already depends on cometchat_calls_sdk (^5.0.4, in the kit's own dependencies: — verified in the 6.1.x pubspec), so the WebRTC engine is pulled in transitively; you do not need to add it. Add an explicit direct dependency only if you import cometchat_calls_sdk symbols directly (then pin it to keep resolution predictable):
flutter pub add cometchat_calls_sdk # optional — only if you import the package directlyThen the native config the docs require — all four steps, or calling silently never rings:
cometchat_calls_sdk (transitive via the kit; pin ^5.0.4 in pubspec.yaml only if you added it directly).android/app/build.gradle.kts: minSdk = 26.ios/Podfile: platform :ios, '15.1', then pod install.AndroidManifest.xml; NSCameraUsageDescription / NSMicrophoneUsageDescription in Info.plist). Without them the call surface opens black.⚠️ The docs' floors are too low and these are compiler-verified instead.
cometchat_calls_sdkpinsminSdkVersion 26in itsandroid/build.gradleandplatform :ios, '15.1'in its podspec (5.0.7; it was 13.0 through 5.0.6). Gradle and CocoaPods take the MAXIMUM across the dependency graph, so a lower app-level value is a build error, not a warning. Docs say 24 / 13.0 — DOCS-BACKLOG D7. Platform floors do move: re-verify against the installed package, not the page.
Every call widget resolves only from the calls barrel, and that barrel does not re-export the chat widgets. A calls screen imports both:
import 'package:cometchat_chat_uikit/cometchat_chat_uikit.dart'; // chat widgets + SDK types
import 'package:cometchat_chat_uikit/cometchat_calls_uikit.dart'; // ALL call widgetsImporting only the chat barrel and then emitting CometChatIncomingCall fails to compile with "Undefined name" — the single most common calls mistake.
Calling is off until (a) the Calls SDK is installed and (b) calling is enabled in settings. Core inits via initFromSettings, which reads cometchat-settings.json — so flip it in the file:
{
"appId": "APP_ID",
"region": "REGION",
"credentials": { "authKey": "AUTH_KEY" },
"uiKit": { "subscribePresenceForAllUsers": true, "enableCalling": true },
"chatSDK": { "autoEstablishSocketConnection": true }
}
uiKit.enableCallingis the only way to enable calling on theinitFromSettingspath —UIKitSettingsdefaults it to false. (If the project uses the classic builder instead, the equivalent is..enableCalls = trueplus..callingConfiguration = CallingConfiguration().)
1. A navigator key at the app root so the kit can present call screens from anywhere:
import 'package:cometchat_chat_uikit/cometchat_calls_uikit.dart';
import 'package:flutter/material.dart';
Widget app(Widget home) => MaterialApp(
navigatorKey: CallNavigationContext.navigatorKey, // REQUIRED for call routing
home: home,
);2. That's it for incoming calls — the kit does the rest. Do NOT add your own root CallListener or present CometChatIncomingCall yourself. When uiKit.enableCalling is true, the kit's CallEventService registers its own CometChat.addCallListener(...) on login and shows the incoming-call overlay automatically via IncomingCallOverlay (verified in cometchat_chat_uikit 6.1.x). Adding a second listener + a manual overlay produces a DOUBLE incoming-call screen. All you owe it is the navigatorKey from step 1 (that is how the overlay finds a context to present — without it the kit logs "Incoming call overlay cannot be shown").
To customize the incoming/outgoing/call-button surfaces, pass a CallingConfiguration — not a hand-rolled listener. On the classic builder path: ..callingConfiguration = CallingConfiguration(incomingCallConfiguration: ..., outgoingCallConfiguration: ..., callButtonsConfiguration: ...). CallingConfiguration (with incomingCallConfiguration / outgoingCallConfiguration / callButtonsConfiguration) is the kit's supported entry point; fetch its fields via the twin (call-features).
3. Extra surfaces you place yourself — call logs, and the incoming/outgoing widgets only when you build a fully custom flow — from the CALLS barrel:
import 'package:cometchat_chat_uikit/cometchat_calls_uikit.dart';
import 'package:flutter/material.dart';
Widget logs() => const CometChatCallLogs();
// Only when replacing the built-in overlay with a fully custom flow — otherwise the kit
// already presents these for you:
Widget incoming(Call call, User user) => CometChatIncomingCall(call: call, user: user);
Widget outgoing(Call call, User user) => CometChatOutgoingCall(call: call, user: user);Call buttons are already in
CometChatMessageHeader— do NOT hand-roll them. They appear once calling is enabled; hide withhideVoiceCallButton/hideVideoCallButton.CometChatCallButtonsis for placing them somewhere else (e.g. a profile screen).
enableCalling false (or vice-versa) ⇒ every call affordance stays hidden, with no error.CallListener + CometChatIncomingCall ⇒ a DOUBLE incoming-call screen. The kit's CallEventService already listens and shows the overlay when calling is enabled — don't duplicate it; customize via CallingConfiguration.navigatorKey (CallNavigationContext.navigatorKey on your MaterialApp) ⇒ the kit's overlay has no context to present from and logs "Incoming call overlay cannot be shown".../cometchat-flutter-v6-core/references/layout.md).call-features.CometChatCallLogDetails widget; build it from guide-call-log-details.On TWO real devices (not simulators): calling enabled in the settings file and the Calls SDK installed → the header shows call buttons → placing a call rings the other device → accept shows the ongoing surface with real video → decline/end returns both sides cleanly → the call appears in CometChatCallLogs. A black surface means permissions; no ring means the enable pair or a missing navigatorKey; two incoming screens means a hand-added listener/CometChatIncomingCall.
Build the feature; do not write tests unless asked (
RULES.md) — the above is an advisory human pass.
Close (after it builds): end with the shared 3-option selectable menu and WAIT — ① add another feature · ② customize theming · ③ test it manually (same contract as core, RULES.md §19).
© 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-flutter-v6-calls of cometchat/cometchat-skills.
Open the folder on GitHubat commit 911b108
Cometchat Flutter V6 Calls 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 Flutter V6 Calls this skillcometchat/cometchat-skills | 129 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Liquid Glass Widgetssdegenaar/liquid_glass_widgets | 711 | — | ~3.8k | Automated safety check: Pass | MIT | |
| SimdeckNativeScript/SimDeck | 152 | — | ~3.6k | Automated safety check: Pass | MIT | |
| Detour Onboardingsoftware-mansion-labs/skills | 291 | — | ~2.8k | Automated safety check: Pass | None | |
| flutter_soloud Setupalnitak/flutter_soloud | 424 | — | ~3.6k | Automated safety check: Notes | MIT | |
| AI App Bridge UsemobileAiDev/ai-app-bridge | 227 | — | ~1.4k | Automated safety check: Pass | Apache-2.0 |
sdegenaar/liquid_glass_widgets
Mastery guide and architectural rules for liquidglasswidgets.
NativeScript/SimDeck
A skill your agent uses for simulator lifecycle, app install/launch, live viewing, UI inspection, touch/keyboard automation, screenshots, recordings, logs, pasteboard, hardware controls, and…
software-mansion-labs/skills
Complete onboarding guide for developers who are new to Detour, the open-source deferred deep linking SDK by Software Mansion.
alnitak/flutter_soloud
Walks through adding the flutter_soloud audio engine to a Flutter app, with per-platform setup, initialization, binary-size and logging options, and output device switching.
mobileAiDev/ai-app-bridge
使用 AI App Bridge 观察、操作和验证 Android、iOS、Flutter、WebView 或 Web App;适用于真实交互、流程自动化和设备诊断。
ccplugins/awesome-claude-code-plugins
Bootstrap a new Flutter mobile app with clean architecture, Riverpod, FVM-pinned SDK, current packages, and no deprecated APIs.
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.
Categories
Add voice & video calling to a Flutter app with the CometChat v6 UI Kit — turn calling on in settings, wire the native config and the root navigatorKey (the kit presents incoming/outgoing call…. Cometchat Flutter V6 Calls is an agent skill from cometchat/cometchat-skills. Add voice & video calling to a Flutter app with the CometChat v6 UI Kit — turn calling on in settings, wire the native config and the root navigatorKey (the kit presents incoming/outgoing call screens itself), and add call-log surfaces.
Cometchat Flutter V6 Calls fits situations like: tasks that involve Cross-platform mobile apps; tasks that involve Design systems.
Run `npx skills add cometchat/cometchat-skills --skill cometchat-flutter-v6-calls -a claude-code`. Or copy the skill folder (skills/cometchat-flutter-v6-calls in cometchat/cometchat-skills) into .claude/skills/cometchat-flutter-v6-calls in your project. Claude Code loads it when a task matches its description.
Run `npx skills add cometchat/cometchat-skills --skill cometchat-flutter-v6-calls -a codex`. Or copy the skill folder (skills/cometchat-flutter-v6-calls in cometchat/cometchat-skills) into .agents/skills/cometchat-flutter-v6-calls 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-flutter-v6-calls -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-flutter-v6-calls, .gemini/skills/cometchat-flutter-v6-calls, .github/skills/cometchat-flutter-v6-calls and .opencode/skills/cometchat-flutter-v6-calls in your project.
Going by SKILL.md and its folder, Cometchat Flutter V6 Calls needs the command-line tools its instructions call (flutter) and credentials named AUTH_KEY. Our summary lists: A credential in AUTH_KEY. Compatibility (from SKILL.md): Flutter >=3.38.9; cometchat_chat_uikit ^6 (6.1.x, verified 6.1.0); cometchat_calls_sdk ^5 (5.0.x — separate package).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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 Flutter V6 Calls is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.9k 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 Flutter V6 Calls: Liquid Glass Widgets (sdegenaar/liquid_glass_widgets, 711 stars), Simdeck (NativeScript/SimDeck, 152 stars), Detour Onboarding (software-mansion-labs/skills, 291 stars) and flutter_soloud Setup (alnitak/flutter_soloud, 424 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.