Power Platform Skills
June 24, 2026 · View on GitHub
Official agent skills/plugins for Power Platform development by Microsoft.
Overview
This repository is a plugin marketplace containing Claude Code/GitHub Copilot plugins for Power Platform services. Each plugin provides skills, agents, and commands to help developers build on the Power Platform.
Installation
Quick Install (Recommended)
Run the installer to set up all plugins with auto-update enabled:
Windows (PowerShell):
iwr https://raw.githubusercontent.com/microsoft/power-platform-skills/main/scripts/install.js -OutFile install.js; node install.js; del install.js
Mac OS/Linux/Windows (cmd):
curl -fsSL https://raw.githubusercontent.com/microsoft/power-platform-skills/main/scripts/install.js | node
The installer automatically:
- Installs
pacCLI if not already installed - Detects available tools (Claude Code, GitHub Copilot CLI)
- Registers the plugin marketplace and installs all listed plugins
- Enables auto-update so plugins stay current
Manual Installation
If you prefer to install manually, run these commands inside a Claude Code or GitHub Copilot CLI session:
-
Add the marketplace
/plugin marketplace add microsoft/power-platform-skills -
Install the desired plugin
/plugin install power-pages@power-platform-skills /plugin install model-apps@power-platform-skills /plugin install mcp-apps@power-platform-skills /plugin install code-apps-preview@power-platform-skills /plugin install canvas-apps@power-platform-skills
Available Plugins
Power Pages (plugins/power-pages)
Create and deploy Power Pages sites using modern development approaches.
Currently supported: Code Sites (SPAs) with React, Angular, Vue, or Astro
Model Apps (plugins/model-apps)
Build and deploy Power Apps generative pages for model-driven apps.
Stack: React + TypeScript + Fluent, deployed via PAC CLI
MCP Apps (plugins/mcp-apps)
Generate interactive MCP App widgets for MCP tools.
Stack: HTML widgets using the MCP Apps protocol
Code Apps (plugins/code-apps)
Build and deploy Power Apps code apps connected to Power Platform via connectors.
Stack: React + Vite + TypeScript, deployed via PAC CLI
Canvas Apps (plugins/canvas-apps)
Author Power Apps Canvas Apps using the Canvas Authoring MCP server.
Stack: PA YAML (.pa.yaml) authored via CanvasAuthoringMcpServer, requires .NET 10 SDK
Local Development
To develop and test plugins locally, follow these steps:
-
Clone this repository
-
Launch Claude Code with plugin path:
claude --plugin-dir /path/to/power-platform-skills/plugins/power-pages claude --plugin-dir /path/to/power-platform-skills/plugins/model-apps claude --plugin-dir /path/to/power-platform-skills/plugins/mcp-apps claude --plugin-dir /path/to/power-platform-skills/plugins/code-apps claude --plugin-dir /path/to/power-platform-skills/plugins/canvas-apps
Running Without Interruption
Plugins in this repo may invoke multiple tools (file edits, shell commands, MCP servers) during a session, which can result in frequent approval prompts. Use the options below to reduce or eliminate these interruptions.
Warning: Auto-approval options give the agent the same access you have on your machine. Only use these in trusted or sandboxed environments.
Claude Code
Option 1 — Permission mode (recommended)
Set the acceptEdits mode to auto-approve file edits while still prompting for shell commands:
// .claude/settings.json (project-level) or ~/.claude/settings.json (user-level)
{
"defaultMode": "acceptEdits",
"permissions": {
"allow": [
"Bash(npm run *)",
"Bash(git *)",
"Bash(pac *)"
// add other commands your workflow needs
]
}
}
Option 2 — Allow all tools
Press Shift+Tab during a session to cycle to auto-accept mode, or launch with:
claude --dangerously-skip-permissions
See the Claude Code permissions docs for the full reference.
GitHub Copilot CLI
Option 1 — Allow specific tools (recommended)
Pre-approve only the tools your workflow needs:
copilot --allow-tool 'write' --allow-tool 'shell(npm run build)' --allow-tool 'shell(pac *)'
Option 2 — Allow all tools in Copilot
copilot --allow-all-tools
To allow everything except dangerous commands:
copilot --allow-all-tools --deny-tool 'shell(rm)' --deny-tool 'shell(git push)'
See the Copilot CLI docs for the full reference.
Repository Structure
power-platform-skills/
├── marketplace.json # Open Plugins marketplace manifest (lists all plugins)
├── .claude-plugin/ # Legacy marketplace shim for existing subscriptions
│ └── marketplace.json
├── .claude/
│ └── settings.json # Auto-allowed tools (pac, node, dotnet, etc.)
├── plugins/
│ ├── power-pages/ # Power Pages plugin
│ │ ├── .plugin/
│ │ │ └── plugin.json
│ │ ├── .claude-plugin/ # Legacy manifest mirror
│ │ │ └── plugin.json
│ │ ├── commands/
│ │ ├── shared/
│ │ └── skills/
│ ├── model-apps/ # Model Apps plugin
│ | ├── .plugin/
│ │ └── plugin.json
│ | ├── commands/
│ | ├── skills/
│ | ├── shared/ # Shared references + samples
│ | └── github/ # GitHub Copilot instructions
│ ├── mcp-apps/ # MCP Apps widget generator plugin
│ │ ├── .plugin/
│ │ │ └── plugin.json
│ │ ├── references/
│ │ ├── samples/
│ │ └── skills/
│ ├── code-apps/ # Code Apps plugin
│ │ ├── .plugin/
│ │ │ └── plugin.json
│ │ ├── agents/
│ │ ├── skills/
│ │ └── shared/ # Shared instructions + references
│ └── canvas-apps/ # Canvas Apps plugin
│ ├── .plugin/
│ │ └── plugin.json
│ ├── references/ # Technical + design guides
│ └── skills/
├── AGENTS.md # Development guidelines
└── README.md
The .claude-plugin files are compatibility mirrors for users who subscribed
before the Open Plugins migration. The root legacy marketplace mirrors
marketplace.json, and per-plugin legacy manifests mirror .plugin/plugin.json.
The shared marketplace keeps marketplace-level owner and metadata, while each
plugin entry is intentionally just name plus repository-root-relative source.
Plugin descriptions, versions, licenses, and keywords are controlled from each
plugin's .plugin/plugin.json. This keeps existing subscriptions updating without
duplicating display/update metadata.
Documentation
- Power Pages Code Sites
- Power Pages REST API
- Generative Pages with External Tools
- Power Apps Code Apps
- PAC CLI Reference
Contributing
See CONTRIBUTING.md for contribution guide.
License
The code in this repo is licensed under the MIT license.
Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
Telemetry
Plugins that ship 1DS telemetry (currently: power-pages) gather anonymous usage signals. Telemetry is default-on; users opt out per-plugin via the /<plugin>:telemetry off command (e.g. /power-pages:telemetry off), stored in ~/.power-platform-skills/config.json. For automation/CI, each adopting plugin also honors a per-plugin opt-out environment variable POWER_PLATFORM_SKILLS_TELEMETRY_<PLUGIN>_OPTOUT (e.g. POWER_PLATFORM_SKILLS_TELEMETRY_POWER_PAGES_OPTOUT=1); when set it disables transmission with the highest precedence, overriding any /<plugin>:telemetry choice. See shared/telemetry/README.md.