Cometchat Angular V5 Migration
cometchat/cometchat-skills
Upgrade an Angular app from CometChat UI Kit v4 → v5 (@cometchat/chat-uikit-angular ^4 → ^5).
A skill your agent uses when the user wants to preview generated screens in a browser without starting Metro / a simulator — for example after /create-mobile-app finishes or after /edit-app…
$ npx skills add microsoft/power-platform-skills --skill preview-screens -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install microsoft/power-platform-skills preview-screens --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/microsoft/power-platform-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/mobile-apps/skills/preview-screens .claude/skills/preview-screens && 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 "preview-screens" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/mobile-apps/skills/preview-screens into .claude/skills/preview-screens/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "preview-screens", 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/microsoft/power-platform-skills/tree/main/plugins/mobile-apps/skills/preview-screensType 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 microsoft/power-platform-skills --skill preview-screens -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install microsoft/power-platform-skills preview-screens --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/power-platform-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/mobile-apps/skills/preview-screens .agents/skills/preview-screens && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "preview-screens" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/mobile-apps/skills/preview-screens into .agents/skills/preview-screens/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "preview-screens", 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 microsoft/power-platform-skills --skill preview-screens -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install microsoft/power-platform-skills preview-screens --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/power-platform-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/mobile-apps/skills/preview-screens .cursor/skills/preview-screens && 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 "preview-screens" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/mobile-apps/skills/preview-screens into .cursor/skills/preview-screens/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "preview-screens", 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/microsoft/power-platform-skills.git --path plugins/mobile-apps/skills/preview-screens--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 microsoft/power-platform-skills --skill preview-screens -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install microsoft/power-platform-skills preview-screens --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/power-platform-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/mobile-apps/skills/preview-screens .gemini/skills/preview-screens && 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 "preview-screens" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/mobile-apps/skills/preview-screens into .gemini/skills/preview-screens/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "preview-screens", 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 microsoft/power-platform-skills preview-screensInstalls 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 microsoft/power-platform-skills --skill preview-screens -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/microsoft/power-platform-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/mobile-apps/skills/preview-screens .github/skills/preview-screens && 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 "preview-screens" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/mobile-apps/skills/preview-screens into .github/skills/preview-screens/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "preview-screens", 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 microsoft/power-platform-skills --skill preview-screens -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install microsoft/power-platform-skills preview-screens --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/power-platform-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/mobile-apps/skills/preview-screens .opencode/skills/preview-screens && 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 "preview-screens" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/mobile-apps/skills/preview-screens into .opencode/skills/preview-screens/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "preview-screens", 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.
preview-screensA skill your agent uses when the user wants to preview generated screens in a browser without starting Metro / a simulator — for example after /create-mobile-app finishes or after /edit-app…
Preview Screens is an agent skill from microsoft/power-platform-skills, published by the product's own GitHub organization. Use when the user wants to preview generated screens in a browser without starting Metro / a simulator — for example after /create-mobile-app finishes or after /edit-app regenerates a screen.
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Mobile. It works with npm. The repository describes itself as: A plugin marketplace for GitHub Copilot and other AI agents that provides Power Platform development plugins, including reusable skills, agents, and commands for building and… The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 0d044b8. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteGlobGrepBashFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
nodenpmFrom 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.
Preview Screens loads about 2.7k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 1,232 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 noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Glob, Grep, BashAutomated 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 microsoft/power-platform-skills at commit 0d044b8, republished under its MIT licence (© microsoft). 1,232 words, ~2,681 tokens.
.claude/skills/preview-screens/SKILL.md (or your agent's skills folder).Plugin check: Run
node "${PLUGIN_ROOT}/scripts/check-version.js"- if it outputs a message, show it to the user before proceeding.
Shared instructions: shared-instructions.md — read first.
Generates a self-contained HTML file that renders every screen in the app as a phone-frame mockup (375 × 812) with tab navigation and a dark/light toggle. The agent reads TSX files, understands the Tamagui component tree, and produces equivalent HTML/CSS — no programmatic TSX parsing.
npm run dev/edit-app; screen-builder is an internal agent invoked by orchestrator skillsDetermine the working directory:
$ARGUMENTS contains --working-dir <path>, use that.Validate the project:
Glob pattern="power.config.json" path="<working_dir>"If missing, check for package.json. If neither exists, report the error and stop.
Read memory-bank.md if present to get the project name for the page title:
Grep pattern="^# " path="<working_dir>/memory-bank.md"Fallback: read name from package.json.
Telemetry checkpoint: discover_app_screens
Find all TSX files under the app directory:
Glob pattern="app/**/*.tsx" path="<working_dir>"Exclude these patterns — they are not screens:
_layout.tsx (navigation layouts)+not-found.tsx (Expo Router error boundary).index.tsx at the app root if it only contains an auth redirect (read it to check)Derive screen names from file paths:
app/(app)/home.tsx → "Home"app/(app)/recipes/index.tsx → "Recipes"app/(app)/recipes/[id].tsx → "Recipe Detail"app/login.tsx → "Login"app/oauth-callback.tsx → skip (not a visible screen)If native-app-plan.md exists in the working directory, read its ## Screens section for human-friendly labels.
Build an ordered list: [ { path, screenName, screenId } ].
Default tab ordering — Home first, then two details, then the rest. Step 5 marks the first entry as active, so the order below directly controls which screen the user lands on when preview.html opens.
Sort the list with this priority:
app/(app)/home.tsx, app/(app)/index.tsx, app/(app)/dashboard.tsx, app/index.tsx (only if it's a real home screen — not the auth redirect you already filtered out in Step 2). If native-app-plan.md flags one screen as the home/landing screen, prefer that.[ and ] (e.g. app/(app)/recipes/[id].tsx, app/(app)/orders/[orderId]/edit.tsx). Take the first two in the order they were discovered (alphabetical by path is fine).If there are fewer than two detail screens, just include whatever exists and continue with the rest — do not pad with non-detail screens to force a count of 3.
Do not drop any screens — this rule only reorders. Every discovered screen still gets a tab.
Load the Tamagui-to-HTML mapping reference:
Read file_path="${PLUGIN_ROOT}/shared/references/tamagui-html-mapping.md"Internalize:
Also check if the project has custom brand tokens:
Glob pattern="tamagui.config.ts" path="<working_dir>"If found, read it and extract any custom color tokens (look for tokens: { color: { ... } }). Add them as additional CSS custom properties in the generated HTML.
Telemetry checkpoint: render_screen_preview_frames
Print before starting:
"→ Reading + converting
<N>screens to HTML/CSS (one print per screen as I go)."
For each screen in the ordered list from Step 2:
Read the full TSX file.
Identify the component tree. Walk the JSX return statement and note every Tamagui component, its props, and its children.
Generate equivalent HTML/CSS using the mapping from Step 3:
YStack → <div style="display:flex; flex-direction:column; ...">flex={1} → flex:1, bg="$color2" → background:var(--color2), etc.)p="$4" → padding:16px)<Ionicons name="..." /> icons with Unicode equivalents (see mapping reference Section 3, Guideline 4 — the icon substitution table uses Ionicons names)Handle dynamic content:
.map() over arrays → generate 3–4 representative placeholder itemsuseQuery / useMutation → show the populated state only (skip loading/error branches)defaultValues → pre-fill inputs with those valuesNative PDF/pen controls need honest static approximations:
Stored in Evidence PDF File or On-device share only), and a disabled View PDF button. If the source URL is not visibly HTTPS, label it Preview unavailable in browser rather than showing a fake viewer.Uploads to Evidence PDF File. Do not embed a browser PDF iframe or imply the native viewer runs in preview.Stored in Signature Image or Uploads to Signature File.Produce a <div class="screen" id="screen-{screenId}"> wrapping the converted HTML.
Use inline styles on elements. Keep each screen's HTML self-contained (no shared CSS classes between screens, except the theme variables).
Use the phone frame template from the mapping reference (Section 4) as the outer shell.
Replace the placeholders:
{{APP_NAME}} — project name from Step 1{{TABS}} — one <button class="tab" ...> per screen, first tab gets class active{{SCREENS}} — all screen <div> blocks from Step 4, first screen gets class activeIf the project has custom brand tokens (from Step 3), add them to the :root CSS block.
Telemetry checkpoint: write_screen_preview_document
Write file_path="<working_dir>/preview.html"Print confirmation:
✅ Preview generated: <working_dir>/preview.html
Screens: <N> (<comma-separated list of screen names>)
Toggle: dark/light mode button in top-rightTelemetry checkpoint: open_screen_preview
Do NOT prompt. The visual_companion flag in <working_dir>/memory-bank.md already encodes the answer; asking again is redundant. The flag is set by /design-system (Step 6.75) during project creation, or defaults to yes if /design-system was not run.
Read the flag and act:
grep -E "^visual_companion:[[:space:]]*(yes|no)" "<working_dir>/memory-bank.md" 2>/dev/null| Flag | Action |
|---|---|
visual_companion: no | Print the link and stop. Do not auto-open. |
visual_companion: yes (or missing memory-bank, or standalone invocation) | Print the link, then auto-open. |
visual_companion: no — print:
"Preview is at:
file://<working_dir>/preview.html(Visual Companion off — open manually.)"
Otherwise — print the link AND auto-open in one breath, no prompt:
"Preview is at:
file://<working_dir>/preview.html— opening now."
Then try OS-appropriate openers in sequence and fall back to printing the link if none work:
open "<working_dir>/preview.html" 2>/dev/null \
|| xdg-open "<working_dir>/preview.html" 2>/dev/null \
|| powershell.exe -NoProfile -Command "Start-Process '<working_dir>\preview.html'" 2>/dev/null \
|| echo "Could not auto-open. Open this URL in your browser: file://<working_dir>/preview.html"open is macOS-only; the chain covers Linux (xdg-open) and Windows / WSL (powershell.exe Start-Process). On headless / SSH sessions all three fail silently and the user just opens the link they were already given.
preview.html — it never modifies TSX files, layouts, configs, or the memory bank./preview-screens overwrites the previous preview.html.© microsoft, 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 plugins/mobile-apps/skills/preview-screens of microsoft/power-platform-skills.
Open the folder on GitHubat commit 0d044b8
Preview Screens 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 |
|---|---|---|---|---|---|---|
| Preview Screens this skillmicrosoft/power-platform-skills | 972 | — | ~2.7k | Automated safety check: Notes | MIT | |
| Cometchat Angular V5 Migrationcometchat/cometchat-skills | 130 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Android API Diffgkd-kit/gkd | 43k | — | ~796 | Automated safety check: Pass | GPL-3.0 | |
| Mobileclimobile-next/mobilecli | 295 | — | ~2.5k | Automated safety check: Notes | Custom licence | |
| Mobilevc InstallerJayCRL/MobileVC | 209 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Electron Wrapperbrianlovin/agent-config | 376 | — | ~2.3k | Automated safety check: Pass | None |
cometchat/cometchat-skills
Upgrade an Angular app from CometChat UI Kit v4 → v5 (@cometchat/chat-uikit-angular ^4 → ^5).
gkd-kit/gkd
Looks up Android framework Java and AIDL APIs across versions with the android-api-diff CLI: signatures, availability, source files and hidden-API access code.
mobile-next/mobilecli
Run mobile automation, app testing, and interact with iOS and Android devices, simulators, emulators, and apps using the mobilecli CLI tool or JSON-RPC API.
JayCRL/MobileVC
Install and start MobileVC — a Claude Code mobile workspace launcher that lets the user run Claude Code on a phone (iOS / Android) with their dev machine as the backend.
brianlovin/agent-config
Wrap a Bun web app into an Electron desktop app with native window management, auto-updates, code signing, and CI/CD distribution.
callstackincubator/agent-skills
Upgrades React Native apps to newer versions by applying rn-diff-purge template diffs, updating package.json dependencies, migrating native iOS and Android configuration, resolving CocoaPods and…
microsoft/power-platform-skills
Inspects and configures the web application firewall (WAF) in front of a Power Pages production site.
microsoft/power-platform-skills
Inspects and configures the security headers a Power Pages site sends to browsers — Content Security Policy, frame and clickjacking protection, cross-origin sharing, cookie behavior, and related…
microsoft/power-platform-skills
Scans a Power Pages site project for security issues in source code and dependencies.
microsoft/power-platform-skills
Runs a security scan on a deployed Power Pages site, fetches the latest scan report, and produces a plain-language summary.
microsoft/power-platform-skills
Creates Dataverse tables, columns, and relationships for a Power Pages site based on a data model proposal.
microsoft/power-platform-skills
Creates, edits, and manages Power Pages Server Logic files — server-side JavaScript that runs securely on the Power Pages runtime.
Works with
Categories
A skill your agent uses when the user wants to preview generated screens in a browser without starting Metro / a simulator — for example after /create-mobile-app finishes or after /edit-app…. Preview Screens is an agent skill from microsoft/power-platform-skills, published by the product's own GitHub organization. Use when the user wants to preview generated screens in a browser without starting Metro / a simulator — for example after /create-mobile-app finishes or after /edit-app regenerates a screen.
Preview Screens fits situations like: after /edit-app regenerates a screen.
Run `npx skills add microsoft/power-platform-skills --skill preview-screens -a claude-code`. Or copy the skill folder (plugins/mobile-apps/skills/preview-screens in microsoft/power-platform-skills) into .claude/skills/preview-screens in your project. Claude Code loads it when a task matches its description.
Run `npx skills add microsoft/power-platform-skills --skill preview-screens -a codex`. Or copy the skill folder (plugins/mobile-apps/skills/preview-screens in microsoft/power-platform-skills) into .agents/skills/preview-screens 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 microsoft/power-platform-skills --skill preview-screens -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/preview-screens, .gemini/skills/preview-screens, .github/skills/preview-screens and .opencode/skills/preview-screens in your project.
Going by SKILL.md and its folder, Preview Screens needs the command-line tools its instructions call (node and npm). Its frontmatter pre-approves these tools: Read, Write, Glob, Grep, Bash.
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 notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Preview Screens is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k 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 Preview Screens: Cometchat Angular V5 Migration (cometchat/cometchat-skills, 130 stars), Android API Diff (gkd-kit/gkd, 43k stars), Mobilecli (mobile-next/mobilecli, 295 stars) and Mobilevc Installer (JayCRL/MobileVC, 209 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
microsoft (a GitHub organization, an official publisher) maintains it in microsoft/power-platform-skills, which has 972 GitHub stars. The repository holds 87 skills in this directory. The repository was last updated on October 7, 2026.
Source: microsoft/power-platform-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.