add-data-source
Guide the user to add a data source, connection, or API connector to a Canvas App via Power Apps Studio, then verify and continue. USE WHEN the user asks to…
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.
$ npx -y skills add microsoft/power-platform-skills --skill preview-screens --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/preview-screensContext preview
The summary Claude sees to decide when to auto-load this skill.
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.
name: preview-screens description: 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. user-invocable: true allowed-tools: Read, Write, Glob, Grep, Bash model: sonnet
**Shared instructions: [shared-instructions.md](../../shared/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.
1. Locate project → 2. Discover screens → 3. Read reference mapping → 4. Read & convert each screen → 5. Assemble preview.html → 6. Write file → 7. Open in browser
---
Determine the working directory:
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:
**Derive screen names** from file paths:
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:
1. **Home / dashboard first.** The first screen matching any of these paths (in 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. 2. **Then up to two detail screens.** A "detail" screen is any TSX whose route segment uses a dynamic param — file path contains `[` 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). 3. **Then everything else** in discovery order.
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:
1. **Read the full TSX file.**
2. **Identify the component tree.** Walk the JSX return statement and note every Tamagui component, its props, and its children.
3. **Generate equivalent HTML/CSS** using the mapping from Step 3:
4. **Handle dynamic content:**
Native PDF/pen controls need honest static approximations:
Official agent skills/plugins for Power Platform development by Microsoft.
Repo: microsoft/power-platform-skills
Guide the user to add a data source, connection, or API connector to a Canvas App via Power Apps Studio, then verify and continue. USE WHEN the user asks to…
Creates or edits a Power Apps Canvas App through the Canvas Authoring MCP coauthoring session. Handles new app generation, direct targeted edits, complex…
Configure the Canvas Authoring MCP server for the current coauthoring session. USE WHEN "configure MCP", "set up MCP server", "MCP not working", "connect…
Use this skill when the user wants to "report a bug", "file an issue", "report an issue", "submit a bug report", or report any problem with the canvas-apps…
Adds Azure DevOps connector to a Power Apps code app. Use when querying work items, creating bugs, managing pipelines, or making ADO API calls.
Adds any Power Platform connector to a Power Apps code app. Generic fallback for connectors not covered by a specific skill.