Ionic Framework
LeoYeAI/openclaw-master-skills
Comprehensive Ionic Framework expert skill consolidating core concepts, component reference, CLI usage, theming, layout, page lifecycle, framework-specific patterns for Angular/React/Vue…
Add voice and video calling to an Angular CometChat app — install the calls SDK, mount the incoming-call listener at app root, call buttons in the message header, and call logs.
$ npx skills add cometchat/cometchat-skills --skill cometchat-angular-v5-calls -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install cometchat/cometchat-skills cometchat-angular-v5-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-angular-v5-calls .claude/skills/cometchat-angular-v5-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-angular-v5-calls" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-angular-v5-calls into .claude/skills/cometchat-angular-v5-calls/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-angular-v5-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-angular-v5-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-angular-v5-calls -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install cometchat/cometchat-skills cometchat-angular-v5-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-angular-v5-calls .agents/skills/cometchat-angular-v5-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-angular-v5-calls" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-angular-v5-calls into .agents/skills/cometchat-angular-v5-calls/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-angular-v5-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-angular-v5-calls -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install cometchat/cometchat-skills cometchat-angular-v5-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-angular-v5-calls .cursor/skills/cometchat-angular-v5-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-angular-v5-calls" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-angular-v5-calls into .cursor/skills/cometchat-angular-v5-calls/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-angular-v5-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-angular-v5-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-angular-v5-calls -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install cometchat/cometchat-skills cometchat-angular-v5-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-angular-v5-calls .gemini/skills/cometchat-angular-v5-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-angular-v5-calls" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-angular-v5-calls into .gemini/skills/cometchat-angular-v5-calls/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-angular-v5-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-angular-v5-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-angular-v5-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-angular-v5-calls .github/skills/cometchat-angular-v5-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-angular-v5-calls" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-angular-v5-calls into .github/skills/cometchat-angular-v5-calls/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-angular-v5-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-angular-v5-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-angular-v5-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-angular-v5-calls .opencode/skills/cometchat-angular-v5-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-angular-v5-calls" agent skill from https://github.com/cometchat/cometchat-skills/tree/main/skills/cometchat-angular-v5-calls into .opencode/skills/cometchat-angular-v5-calls/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cometchat-angular-v5-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-angular-v5-callsAdd voice and video calling to an Angular CometChat app — install the calls SDK, mount the incoming-call listener at app root, call buttons in the message header, and call logs.
Cometchat Angular V5 Calls is an agent skill from cometchat/cometchat-skills. Add voice and video calling to an Angular CometChat app — install the calls SDK, mount the incoming-call listener at app root, call buttons in the message header, and call logs. Triggers: 'add voice calling', 'add video calls', 'enable calling', 'show call history', 'incoming call not ringing'.
Its SKILL.md is about 2.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: @cometchat/chat-uikit-angular ^5 (5.1.0–5.2.0 verified) + @cometchat/calls-sdk-javascript ^5.0.3; Angular 17-21
It sits in Mobile. It works with CometChat and Angular. 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:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, 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.
@cometchat/chat-uikit-angular ^5 (5.1.0–5.2.0 verified) + @cometchat/calls-sdk-javascript ^5.0.3; Angular 17-21
From compatibility in the SKILL.md frontmatter.
Cometchat Angular V5 Calls loads about 2.9k tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 1,041 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). 1,041 words, ~2,851 tokens.
.claude/skills/cometchat-angular-v5-calls/SKILL.md (or your agent's skills folder).Ground truth: calling UI ships INSIDE
@cometchat/chat-uikit-angular@5— there is no separate calls-UI package — but the WebRTC engine is a SEPARATE, NOT-bundled peer:@cometchat/calls-sdk-javascript@^5.0.3(major 5, distinct from the chat SDK's v4). EveryCometChat*symbol below exists in theangular-v5catalog. Exhaustive inputs/outputs and advanced call surfaces are FETCHED, not baked —{DOCS_BASE}/ui-kit/angular/call-features.md, the per-component pages (/components/cometchat-incoming-call,-call-buttons,-call-logs,-outgoing-call), and/guides/call-log-details; base + paths incometchat-angular-v5-core/references/docs-map.md. APPEND to the user's app — additive wiring only (RULES.md).
cometchat-angular-v5-core — install, credentials, init→login→render. Assumed.cometchat-angular-v5-placement — where the incoming-call listener mounts.Adding voice/video calling, or diagnosing calls that never ring.
npm install @cometchat/calls-sdk-javascript@^5It is an optional peer of the UI Kit (^5.0.3), so it is not installed by default. Without it the call components are inert and CometChatUIKit.isCallingEnabled() returns false.
Calling must also be enabled for the app in the dashboard. Code alone is not enough.
core inits with initFromSettings, and on that path the kit derives calling from the settings object:
// verified in the shipped 5.1.0 bundle
const callingEnabled = !!settings.uiKit?.['callsSDK'];
if (callingEnabled) builder.setCallingEnabled(true);So you must declare a uiKit.callsSDK block or calling stays off no matter what you installed:
CometChatUIKit.initFromSettings({
appId, region,
credentials: { authKey },
chatSDK: { presenceSubscription: { type: 'ALL_USERS' } },
uiKit: { callsSDK: {} }, // ← REQUIRED for calling on the initFromSettings path
});Symptom if you miss it: <cometchat-call-buttons> renders as a zero-size empty element and the message header shows no call buttons. Nothing errors, nothing logs, and the package is installed — so it reads as a layout or CSS bug. CometChatUIKit.isCallingEnabled() returns false; check that first.
The docs' builder path uses
.setCallingEnabled(true)onUIKitSettingsBuilderinstead. Both are correct for their own init — seecometchat-angular-v5-core/references/lifecycle.md. Do not mix them.
<cometchat-incoming-call> at APP ROOT — not in the chat page.Step 2 is the one that goes wrong.
<!-- app.component.html -->
<cometchat-incoming-call
(callAccepted)="onAccepted($event)"
(callDeclined)="onDeclined($event)"
(error)="onError($event)">
</cometchat-incoming-call>
<router-outlet></router-outlet>Mounted inside the chat page it unmounts the moment the user navigates elsewhere, so calls stop ringing anywhere except that one route. It looks like the calls SDK is broken; it is a placement bug.
Remember CometChatIncomingCallComponent in the root component's imports: [].
<cometchat-message-header> renders voice and video buttons itself — check the running app before adding your own. Suppress with [hideVoiceCallButton]="true" / [hideVideoCallButton]="true".
The default is not hardcoded: the header reads COMETCHAT_GLOBAL_CONFIG and tracks whether you set the input explicitly, so an app-wide config can hide the buttons even though nothing on the component says so. If they are missing, check the global config before concluding the header does not render them — and if they are present, do not add <cometchat-call-buttons> alongside or you get two sets.
Standalone, elsewhere in your UI:
<cometchat-call-buttons [user]="activeUser()" [group]="activeGroup()" (error)="onError($event)"></cometchat-call-buttons>Both call components must be in the consuming component's imports: [] — omitted, they
render nothing and never ring. Mount <cometchat-incoming-call> at the app root, not
inside a route, or it stops ringing the moment the user navigates away:
import { Component, inject, computed } from '@angular/core';
import { CommonModule } from '@angular/common';
import {
ChatStateService,
CometChatCallButtonsComponent,
CometChatIncomingCallComponent,
CometChatUIKitCalls,
} from '@cometchat/chat-uikit-angular';
@Component({
selector: 'app-root',
standalone: true,
imports: [CommonModule, CometChatCallButtonsComponent, CometChatIncomingCallComponent],
template: `
<cometchat-incoming-call (callAccepted)="onAccepted($event)"></cometchat-incoming-call>
<cometchat-call-buttons [user]="activeUser()" [group]="activeGroup()"></cometchat-call-buttons>
`,
})
export class AppRootComponent {
private readonly chatState = inject(ChatStateService);
readonly activeUser = computed(() => this.chatState.activeUser() ?? undefined);
readonly activeGroup = computed(() => this.chatState.activeGroup() ?? undefined);
// CometChatUIKitCalls is the calls-SDK accessor the kit exposes; it is null until the
// SDK has loaded, so never touch it during construction.
readonly calls = CometChatUIKitCalls;
onAccepted(_call: unknown) { /* route to your ongoing-call screen */ }
}The kit drives these once a call is accepted. Outputs, if you need to react:
| Component | Outputs |
|---|---|
<cometchat-incoming-call> | callAccepted callDeclined error |
<cometchat-outgoing-call> | callCanceled error |
<cometchat-ongoing-call> | callEnded error |
<cometchat-call-buttons> | error |
<cometchat-call-logs> | itemClick callButtonClicked |
<cometchat-call-bubble> | buttonClick |
<cometchat-ongoing-call> takes [sessionID] and optionally [callSettingsBuilder] / [isAudioOnly]. Do not build your own call screen — WebRTC state, permissions and teardown are handled.
⚠️
<cometchat-call-logs>HARD-CRASHES if it mounts before the Calls SDK has loaded. ItsngOnInitsynchronously runsnew CometChatUIKitCalls.CallLogRequestBuilder(), butCometChatUIKitCallsisnulluntil the lazily-loaded Calls SDK resolves — so on a freshinitFromSettingsapp the tab renders an "OOPS! / Retry" error state and logs[CometChatCallLogs] Error: TypeError: Cannot read properties of null (reading 'CallLogRequestBuilder'). Retry does NOT recover it. This is the same "CometChatUIKitCallsis null until the SDK has loaded, so never touch it during construction" trap as the standalone accessor above — it just bites INSIDE the kit's own component. GATE the call-logs surface on the calls-SDK namespace ACTUALLY being populated — not oncallingReadyalone. Verified live (AUDIT-163):CometChatUIKit.callingReadydefaults to a pre-resolvedPromise.resolve(), and even afterinitCalling()runs the lazily-loadedCometChatUIKitCallsnamespace can still benull(e.g. the calls chunk never loaded) — so acallingReady-ONLY gate STILL crashes. AwaitcallingReady, THEN confirmCometChatUIKitCallsis non-null before mounting:
// component
import { CometChatUIKit, CometChatUIKitCalls } from '@cometchat/chat-uikit-angular';
readonly callsReady = signal(false);
constructor() {
CometChatUIKit.callingReady
.then(() => this.callsReady.set(!!CometChatUIKitCalls)) // namespace must be populated, not just "ready"
.catch(() => this.callsReady.set(false));
}<!-- Do NOT mount <cometchat-call-logs> unguarded — it NPEs on CometChatUIKitCalls being null. -->
<cometchat-call-logs *ngIf="callsReady()" (itemClick)="openCall($event)"></cometchat-call-logs>
<div *ngIf="!callsReady()">Loading call history…</div>STOPGAP (remove once the kit component awaits
getCometChatCalls()/ null-guardsCometChatUIKitCallsitself — filed as a UIKit bug; the docs page also omits this prerequisite — DOCS-BACKLOG).isCallingEnabled()is the sync settings check;callingReady+ aCometChatUIKitCallsnull-check is what actually guards the mount (callingReadyalone is NOT enough — proven live).
Also available: CallLogsService for headless querying, and guides/call-log-details for a detail view.
getUserMedia is blocked on plain HTTP, so calls fail on a LAN IP over http.CometChatUIKit.callingReady is a promise that resolves once calling is initialised; isCallingEnabled() is the synchronous check.uiKit.callsSDK missing from initFromSettings → calling silently off; call buttons render as zero-size empty elements. Installing the package is not enough.getUserMedia blocked.<cometchat-ongoing-call>.Two browsers, two users, HTTPS or localhost · caller sees outgoing UI, callee's device rings from any route · accepting connects audio/video both ways · ending returns both to chat · the call appears in call logs · no console errors.
Tell the developer what changed, naming the files: calling — the packages added, that uiKit: { callsSDK: {} } is what switches it on, and where <cometchat-incoming-call> is mounted. Flag anything dev-only as dev-only, and say what you did not touch — this is additive.
Then offer these THREE options as a SELECTABLE choice and WAIT for the pick — never auto-continue (RULES.md §19):
features.angular-v5.json. Never offer an auto entry (reactions, mentions, receipts, typing, media) — those are core in v5 and already on.cometchat-angular-v5-customization.© 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-angular-v5-calls of cometchat/cometchat-skills.
Open the folder on GitHubat commit 911b108
Cometchat Angular V5 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 Angular V5 Calls this skillcometchat/cometchat-skills | 129 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Ionic FrameworkLeoYeAI/openclaw-master-skills | 2.2k | — | ~5.5k | Automated safety check: Pass | MIT | |
| Screenmapaleqsio/screenmap | 239 | — | ~7.2k | Automated safety check: Pass | MIT | |
| Iphone Duo Capacitormirzaaghazadeh/iphone-duo-skills | 137 | — | ~1.5k | Automated safety check: Pass | Custom licence | |
| Add Error Trackinggotempsh/temps | 822 | — | ~4.2k | Automated safety check: Notes | Apache-2.0 | |
| Stream Docsadrianhajdin/react-native-lingua | 150 | — | ~6.6k | Automated safety check: Pass | None |
LeoYeAI/openclaw-master-skills
Comprehensive Ionic Framework expert skill consolidating core concepts, component reference, CLI usage, theming, layout, page lifecycle, framework-specific patterns for Angular/React/Vue…
aleqsio/screenmap
Generate a visual navigation map of an Expo / React Native or NativeScript app.
mirzaaghazadeh/iphone-duo-skills
Adapt a Capacitor or Ionic app to iPhone Duo, Apple's first foldable iPhone — why the standard Device Posture and Viewport Segments CSS does not reach a web view, what CSS gives you today, and how…
gotempsh/temps
Add Temps error tracking to applications using the Sentry-compatible SDK.
adrianhajdin/react-native-lingua
Search live Stream SDK documentation for Chat, Video, Feeds, and Moderation.
anolilab/lunora
Wires Lunora's live data into a client. An agent skill from anolilab/lunora.
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 and video calling to an Angular CometChat app — install the calls SDK, mount the incoming-call listener at app root, call buttons in the message header, and call logs. Cometchat Angular V5 Calls is an agent skill from cometchat/cometchat-skills. Add voice and video calling to an Angular CometChat app — install the calls SDK, mount the incoming-call listener at app root, call buttons in the message header, and call logs.
Cometchat Angular V5 Calls fits situations like: mobile work in your project.
Run `npx skills add cometchat/cometchat-skills --skill cometchat-angular-v5-calls -a claude-code`. Or copy the skill folder (skills/cometchat-angular-v5-calls in cometchat/cometchat-skills) into .claude/skills/cometchat-angular-v5-calls in your project. Claude Code loads it when a task matches its description.
Run `npx skills add cometchat/cometchat-skills --skill cometchat-angular-v5-calls -a codex`. Or copy the skill folder (skills/cometchat-angular-v5-calls in cometchat/cometchat-skills) into .agents/skills/cometchat-angular-v5-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-angular-v5-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-angular-v5-calls, .gemini/skills/cometchat-angular-v5-calls, .github/skills/cometchat-angular-v5-calls and .opencode/skills/cometchat-angular-v5-calls in your project.
Going by SKILL.md and its folder, Cometchat Angular V5 Calls needs the command-line tools its instructions call (npm). Our summary lists: Node.js. Compatibility (from SKILL.md): @cometchat/chat-uikit-angular ^5 (5.1.0–5.2.0 verified) + @cometchat/calls-sdk-javascript ^5.0.3; Angular 17-21.
SKILL.md contains no URLs. Its commands use npm, 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 Angular V5 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.9k tokens (SKILL.md is roughly 11k 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 Angular V5 Calls: Ionic Framework (LeoYeAI/openclaw-master-skills, 2.2k stars), Screenmap (aleqsio/screenmap, 239 stars), Iphone Duo Capacitor (mirzaaghazadeh/iphone-duo-skills, 137 stars) and Add Error Tracking (gotempsh/temps, 822 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.