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…
Activates and provisions a Power Pages website in a Power Platform environment via the Power Platform REST API. Use when the user wants to activate, provision, turn on, or enable a Power Pages website or portal.
Claude Code
$ npx -y skills add microsoft/power-platform-skills --skill activate-site --agent claude-code
Codex
$ npx skills add microsoft/power-platform-skills --skill activate-site -a codex -y
Cursor
$ npx skills add microsoft/power-platform-skills --skill activate-site -a cursor -y
Gemini CLI
$ npx skills add microsoft/power-platform-skills --skill activate-site -a gemini-cli -y
GitHub Copilot
$ npx skills add microsoft/power-platform-skills --skill activate-site -a github-copilot -y
OpenCode
$ npx skills add microsoft/power-platform-skills --skill activate-site -a opencode -y
Windsurf
$ npx skills add microsoft/power-platform-skills --skill activate-site -a windsurf -y
name: activate-site description: >- Activates and provisions a Power Pages website in a Power Platform environment via the Power Platform REST API. Use when the user wants to activate, provision, turn on, or enable a Power Pages website or portal. user-invocable: true allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, TaskCreate, TaskUpdate, TaskList model: sonnet
> **Plugin check**: Run `node "${PLUGIN_ROOT}/scripts/check-version.js"` — if it outputs a message, show it to the user before proceeding.
Provision a new Power Pages website in a Power Platform environment via the Power Platform REST API.
> **Prerequisite:** This skill expects an existing Power Pages SPA site created via `/create-site`. Run that skill first if the site does not exist yet.
**Initial request:** $ARGUMENTS
1. **Phase 1: Verify Prerequisites** — PAC CLI auth + Azure CLI login + activation status check 2. **Phase 2: Gather Parameters** — Site name, subdomain, website record ID 3. **Phase 3: Confirm** — Present all parameters to user for approval 4. **Phase 4: Activate & Poll** — Run activation script (POST + poll provisioning status) 5. **Phase 5: Present Summary** — Show site URL, suggest next steps
---
**Goal:** Ensure PAC CLI is installed and authenticated, and verify the user is logged in to Azure CLI.
Run `pac help` to check if the PAC CLI is installed and available on the system PATH.
pac help
**If the command fails** (command not found / not recognized):
1. Tell the user: "PAC CLI is not installed. You can install it by running:"
dotnet tool install --global Microsoft.PowerApps.CLI.Tool
2. If `dotnet` is also not available, direct the user to <https://aka.ms/PowerPlatformCLI> for full installation instructions. 3. After installation, verify by running `pac help` again.
Run `pac auth who` to check current authentication status.
pac auth who
**If authenticated**: Extract these values from the output:
**If not authenticated**: Follow the same authentication flow as `deploy-site` — ask the user for their environment URL and run `pac auth create --environment "<URL>"`.
Verify the user is logged in to Azure CLI:
az account show
**If `az` is not installed or not logged in**: Instruct the user to install Azure CLI and run `az login --allow-no-subscriptions` (this form works whether or not the user has an Azure subscription — the activation flow only needs an AAD token).
First inspect `$ARGUMENTS` for explicit imported-site identity from another skill:
siteName: <name> websiteRecordId: <guid> environmentUrl: <url> statusPath: <path>
When both values are present, set `SITE_IDENTITY_SOURCE = "arguments"` immediately and **skip the local-project activation status check below**. That check resolves identity from `powerpages.config.json` / `.powerpages-site`, which may be absent or unrelated when `/create-site` activates an imported template site. Continue to Phase 2 with the explicit identity.
When `environmentUrl` is present, store it as `EXPECTED_ENVIRONMENT_URL` and verify the current CLI context before Phase 2:
node "${PLUGIN_ROOT}/scripts/validate-cli-tenant-alignment.js" --envUrl "<EXPECTED_ENVIRONMENT_URL>"Continue only when the JSON result has `ok: true`. This check compares the active PAC environment URL with the caller's URL and verifies that PAC, the Azure account, and the Dataverse access token use the same tenant. If it fails, stop and ask the user to switch PAC or Azure CLI authentication. Do not activate the imported Website Record ID in a different environment.
When `source` is `create-site template path` and `statusPath` is present, store it as `ACTIVATION_STATUS_PATH`. This is the existing template status file created by `/create-site`; do not create a separate status page.
When `SITE_IDENTITY_SOURCE !== "arguments"`, check whether the local project site is already activated by running the shared activation status script:
node "${PLUGIN_ROOT}/scripts/check-activation-status.js" --projectRoot "<PROJECT_ROOT>"Where `<PROJECT_ROOT>` is the directory containing `powerpages.config.json` or `.powerpages-site` folder. Evaluate the JSON result:
When `SITE_IDENTITY_SOURCE = "arguments"`, skip this entire local-project status check and continue to Phase 2 with the supplied site identity.
Plugins from Microsoft that teach AI assistants, such as GitHub Copilot and Claude Code, to build on Power Platform.
Guide the user to add a data source, connection, or API connector to a Canvas App via Power Apps Studio, then verify and…
Creates or edits a Power Apps Canvas App through the Canvas Authoring MCP coauthoring session. Handles staged experience design,…
Configure the Canvas Authoring MCP server for the current coauthoring session. Use before starting to edit a canvas app with the…
Use this skill when the user wants to "report a bug", "file an issue", "report an issue", "submit a bug report", or report any…
Adds Azure DevOps connector to a Power Apps code app. Use when querying work items, creating bugs, managing pipelines, or making…
Adds any Power Platform connector to a Power Apps code app. Generic fallback for connectors not covered by a specific skill.
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.