Skip to main content

play

Opens a Microsoft App in the browser via `ms app play`. Use when opening the live deployed version or a cloud-hosted preview (main branch or specific commit SHA) without starting a local dev server.

来源信息

仓库
microsoft/managed-apps
最近来源活动
2026年6月12日 21:00
检测到的 SKILL.md 语言
英语
星标
24
分支
8

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
play
description
Opens a Microsoft App in the browser via `ms app play`. Use when opening the live deployed version or a cloud-hosted preview (main branch or specific commit SHA) without starting a local dev server.
user-invocable
true
allowed-tools
Read, Grep, Bash, AskUserQuestion
model
sonnet
**📋 Shared Instructions: [shared-instructions.md](${CLAUDE_PLUGIN_ROOT}/shared/shared-instructions.md)** — Cross-cutting concerns. # Play Opens a Microsoft App in the browser by fetching its cloud play URL and launching it. No local dev server required. | Mode | Command | What opens | | ---- | ------- | ---------- | | `live` (default) | `ms app play` | The most recently deployed version. A snapshot — does not update until `ms app deploy` is run again. | | `preview` (main) | `ms app play --mode preview` | Built from the `main` branch on demand — always reflects the latest pushed code, even without a deploy. | | `preview` (commit) | `ms app play --mode preview --commit <sha>` | App as of a specific commit SHA — useful for code review or regression testing. | > **Live vs. preview:** Live requires a prior `ms app deploy`. Preview builds from source on demand — it works without any deployment and always reflects unpublished code. ## Workflow 1. Memory Bank → 2. Verify Project + Env → 3. Resolve Mode → 4. Run → 5. Surface URL --- ### Step 1: Check Memory Bank Read `memory-bank.md` per [shared-instructions.md](${CLAUDE_PLUGIN_ROOT}/shared/shared-instructions.md) for the app's environment/app identifiers, if recorded. ### Step 2: Verify Project + Env ```bash test -f ms.config.json || { echo "Not in a Microsoft App workspace."; exit 1; } BIN=ms $BIN auth status # must report the expected UPN ``` `--app` and `--environment-id` can be passed explicitly to run from outside a project directory — `ms.config.json` is only needed for the defaults. ### Step 3: Resolve Mode If not already clear from the user's request, ask: > "Do you want to open the **live** deployed version, a **preview** of the latest code on main, or a preview of a **specific commit**?" Map intent to mode: | User says | Mode | | --------- | ---- | | "live", "deployed", no qualifier | `live` (default — no flag needed) | | "preview", "latest", "unpublished", "before deploy" | `--mode preview` | | "preview at commit X" / specific SHA provided | `--mode preview --commit <sha>` | ### Step 4: Run **Live (default):** ```bash $BIN app play ``` **Preview — latest code on main:** ```bash $BIN app play --mode preview ``` **Preview — specific commit:** ```bash $BIN app play --mode preview --commit <sha> ``` Full flag reference: | Flag | Alias | Default | Description | | ---- | ----- | ------- | ----------- | | `--mode` | `-m` | `live` | `live` or `preview`. | | `--commit` | `-c` | HEAD on main | Preview only. The commit SHA to open. Ignored for live mode (CLI throws if combined). | | `--app` | | `appId` from `ms.config.json` | App name override for running outside the project directory. | | `--no-browser` | | false | Print the URL without opening a browser tab. | | `--json` | | | Emit `{ success, appName, mode, url, commitHash }` instead of human-readable output. | ### Step 5: Surface URL Present the URL the CLI printed. For live mode, surface the CLI's built-in warning: ``` Live URL for 'my-app': https://apps.powerapps.com/play/e/<env-id>/app/<guid> ⚠ Live does not auto-update. Run /deploy to publish new code to the live URL. ``` For preview: ``` Preview URL for 'my-app' (main): https://apps.powerapps.com/play/e/<env-id>/app/<guid>/branch/main ``` For commit-pinned preview: ``` Preview URL for 'my-app' (commit abc1234): https://apps.powerapps.com/play/e/<env-id>/app/<guid>/commit/abc1234 ``` --- ## Edge Cases | Situation | Action | | --------- | ------ | | `No live build available — run 'ms app deploy' first` | The app has never been deployed. Tell the user to run `/deploy`, then retry `ms app play`. | | `--commit` passed with `--mode live` | Hard `UsageError` from the CLI. Explain that `--commit` only works with `--mode preview`. | | No `appPlayUri` for preview mode | App record exists but play URI is missing. Surface the error verbatim and stop. | | User wants URL without opening a browser | Pass `--no-browser`; the CLI prints the URL and exits without launching a tab. | | User is outside a project directory | Pass `--app <name>` and `--environment-id <id>` explicitly. |
在 GitHub 查看