plan-alm

Creates an approved ALM deployment plan for Power Pages sites across environments.

808|167|Updated Jan 21, 2026
One-click install
npx skills add https://github.com/microsoft/power-platform-skills --skill plan-alm
Or copy as Structured Prompt for Agentβ–Ό
Please help me install this Agent Skill.
Skill: plan-alm
Source: https://github.com/microsoft/power-platform-skills/tree/main/plugins/power-pages/skills/plan-alm
Command: npx skills add https://github.com/microsoft/power-platform-skills --skill plan-alm

SYSTEM DOCUMENTATION & REQUIREMENTS

πŸ’‘ This Skill includes scripts (resource) and assets (resource) components.

What problem does it solve?

Deploying a Power Pages site from development to production involves many decisions β€” promotion strategy, target environments, solution splitting, environment variables, and approvals β€” and doing it ad hoc leads to missed components and failed deployments. This Skill gathers all of that upfront and produces a single reviewed, approved plan that downstream deployment skills execute against.

Core Features & Use Cases

  • Project State Detection: Reads the local site identity, existing solution manifest, and pipeline state, then queries the live Dataverse environment for site settings, solution size, and environment variable definitions.
  • Strategy Gathering & Sizing: Asks targeted questions about Power Platform Pipelines versus manual export/import, runs a solution-size estimator and split decision tree, and flags large assets for Azure Blob externalization.
  • Visual Plan Generation: Renders an interactive HTML plan document (docs/alm-plan.html) with size analysis, solutions, pipelines, validation, and execution checklist tabs, then captures explicit user approval.
  • Use Case: A developer finishes a Power Pages site in a dev environment and asks to "plan my ALM" β€” the Skill detects the site, estimates a 120 MB solution, recommends a two-solution split, and produces an approved plan that setup-solution, setup-pipeline, and deploy-pipeline later execute in order.

Quick Start

Ask the agent to plan ALM for my Power Pages site and create a deployment plan for promoting it from dev to production.

Frequently Asked Questions about plan-alm

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I plan ALM for a Power Pages site?β–Ό

Run the plan-alm skill from your site project root where .powerpages-site/ lives. It detects the site, queries the dev environment for size and settings, asks about your promotion strategy, and generates an HTML plan at docs/alm-plan.html for your approval.

Does plan-alm deploy my Power Pages site?β–Ό

No, plan-alm is a planner only and never deploys anything. After you approve the plan, you run the individual execution skills β€” setup-solution, setup-pipeline, and deploy-pipeline (or export-solution/import-solution) β€” which detect the approved plan and execute each step in order.

What is the difference between Power Platform Pipelines and manual export/import in the plan?β–Ό

Power Platform Pipelines is the managed, stage-based promotion strategy configured through setup-pipeline and deploy-pipeline. Manual export/import uses export-solution and import-solution for environments where pipelines are not available; plan-alm supports either strategy.

Why does plan-alm recommend splitting my solution into multiple solutions?β–Ό

The skill runs a size estimator and decision tree against thresholds for total size, component count, schema attributes, tables, web files, and environment variables. When limits are exceeded, it recommends strategies like layer splitting or change-frequency segmentation so imports stay reliable.

What happens if PAC CLI is connected to the wrong environment?β–Ό

plan-alm cross-checks the connected environment against URLs recorded in the project and probes whether the site exists there. On a mismatch it prompts you to switch the PAC environment and re-run, or continue with the plan flagged as degraded.

Can I approve an existing draft ALM plan without re-planning?β–Ό

Yes. When a Draft plan already exists at docs/alm-plan.html, plan-alm offers to approve it in place, capturing the approver and writing the Approved status atomically without re-running discovery.