为 Power Pages 多环境部署生成并执行可审核的 ALM 规划方案。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "plan-alm" 技能: 1. 下载 https://raw.githubusercontent.com/microsoft/power-platform-skills/main/plugins/power-pages/skills/plan-alm/SKILL.md 2. 保存为 ~/.claude/skills/plan-alm/SKILL.md 3. 装好后重载技能,告诉我可以用了
请为我的 Power Pages 站点制定 ALM 计划。我们有 dev、test、prod 三个环境,必须先经过测试负责人审批,再由产品经理批准上线。请输出可审阅的部署计划,并说明每一步会调用哪些流程。
一份可视化的 HTML ALM 计划,包含环境流转、审批要求、推广策略和后续执行步骤说明。
帮我规划从开发环境到预生产再到生产环境的 Power Pages 部署流程。我们希望优先使用 pipeline,如果不适用再用 solution import。请先生成计划让我确认。
一份待确认的部署计划文档,明确推荐的部署路径、备选方式以及各阶段执行顺序。
我已经确认这份 ALM 计划,请按计划执行 Power Pages 部署:先配置 solution 和 pipeline,再导出 solution,最后部署到目标环境。执行前请再次列出步骤。
先输出确认后的执行步骤摘要,再按顺序触发相关部署动作,完成跨环境发布。
Plugin check: Run
node "${CLAUDE_PLUGIN_ROOT}/scripts/check-version.js"— if it outputs a message, show it to the user before proceeding.
An 8-phase orchestrator that gathers ALM strategy from the user, generates an HTML deployment plan, gets approval, then executes the plan by calling existing skills in sequence.
This skill detects the current project state (existing solution, pipeline), asks targeted questions about the desired promotion strategy (Power Platform Pipelines or Manual export/import), generates a visual docs/alm-plan.html, gets user approval, and then invokes setup-solution, setup-pipeline (or export-solution), and deploy-pipeline (or import-solution) in the correct order.
Do NOT create tasks at the start — strategy is unknown until Phase 2 completes. Create all tasks in Phase 3 once the strategy is determined.
Do NOT create tasks yet. Use natural language progress reporting only during this phase.
Steps:
Detect prior ALM deferral for this project. Before any discovery work, check whether the project root contains a marker file. The marker is written by users who explicitly opted ALM-skill validators out of "missing artifacts" warnings (e.g. or ). If a user is now invoking , we should surface that the marker is present and ask what to do, rather than silently proceeding (which would build a plan the user previously decided not to maintain) or silently removing the marker (which would re-enable nags on every other ALM skill).
<!-- gate: plan-alm:1.deferral | category=progress | cancel-leaves=deferral-marker -->.alm-deferredplan-almnode "${CLAUDE_PLUGIN_ROOT}/scripts/lib/check-alm-plan.js" --projectRoot "."
🚦 Gate (progress · plan-alm:1.deferral):
.alm-deferredmarker present — continue and remove, continue and keep marker, or cancel. Determines whether downstream ALM skills resume gate enforcement.
The helper returns { deferred, deferral, ... }. If deferred === true, read the deferral reason (deferral.reason or the raw marker text) and ask via AskUserQuestion:
"This project has an
.alm-deferredmarker —{reason}. ALM was previously deferred here, so the other ALM skills (setup-solution,setup-pipeline,deploy-pipeline, …) skip their plan-completeness checks for this project. How would you like to proceed?"
| Question | Header | Options |
|---|---|---|
| How would you like to proceed? | ALM deferral marker | Continue planning and remove the marker (Recommended), Continue planning but keep the marker (record deferral context in plan), Cancel |
.alm-deferred (the user is re-engaging with ALM). Set DEFERRAL_CLEARED = true and proceed to step 1.DEFERRAL_PRESERVED = true and DEFERRAL_REASON = {reason}. Proceed to step 1. Surface a one-line note in the Phase 1 step 9 user report (e.g. "Note: .alm-deferred is preserved — other ALM skills will continue to skip plan-completeness checks for this project.") so the user remembers the marker remains in effect after planning.If deferred === false, skip this step silently and proceed to step 1.
Resolve the site identity from the local project. ALM skills are normally invoked from a site-root directory where pac pages download-code-site (or a create-site scaffold followed by a deploy) has written .powerpages-site/website.yml. That YAML file is the source of truth for websiteRecordId and siteName.
Resolution order (first match wins):
.powerpages-site/website.yml (preferred, present for every deployed site) — read with the Read tool and extract:
id field → websiteRecordId…
为 Power Apps 代码应用接入 Azure DevOps 连接器,便于查询工单、提报缺陷与管理流水线。
帮助你快速搭建 Power Platform 管道,实现 Power Pages 自动化部署。