Skip to content

About

A plugin marketplace for Claude Code/GitHub Copilot that provides Power Platform development plugins, including reusable skills, agents, and commands for building and deploying solutions.

Resources

Code of conduct

Contributing

Security policy

Stars

5 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Power Platform Skills

Agent skills and plugins for Power Platform development, aligned for Equinor internal use.

Overview

This repository is a plugin marketplace containing agent plugins for Power Platform services. Each plugin provides skills, agents, and commands to help developers build on the Power Platform.

Primary platform: GitHub Copilot (VS Code) via the .github/ convention. Also supported: Claude Code via the plugin marketplace system.

The canonical Open Plugins marketplace manifest lives at marketplace.json. The root .claude-plugin/marketplace.json and each plugin's .claude-plugin/plugin.json remain as compatibility mirrors for existing marketplace subscriptions.

Equinor Fork

This repository is a fork of microsoft/power-platform-skills, maintained for Equinor internal use. It is not a neutral mirror — it applies Equinor governance, security standards, and the shared practices of the Equinor IT professional network before any plugin is piloted or published internally.

Tip

View the full diff on GitHub → — includes all changes: plugins, governance docs, dev container, and repo tooling. To see only plugin changes locally, run:

git diff upstream/main -- plugins/

Why a fork and not the upstream directly?

The upstream Microsoft plugins are designed for general Power Platform use across any organisation. Equinor has additional obligations that the upstream does not satisfy by default:

Concern Equinor requirement
Governance gate Every plugin must pass a review against docs/equinor-alignment/baseline.md before internal publication
Tech Radar Hold items require an approved deviation permit; Assess items require Architecture Contract dialogue
Design standards Generated UI must target Equinor Design System components, tokens, and accessibility guidance
MCP security MCP-dependent workflows must be explicitly evaluated, documented, and opted into — they are not enabled by default
Production safety Skills must not interact with production systems during development by default
Secret hygiene No credentials, tokens, connection IDs, or environment URLs may be committed to this repository
Classification This repository is public, so everything in it is OPEN. The classification ceiling for the solutions a plugin builds is recorded separately in its review record
Discovery Internal plugins are published through Varia and TechDocs, not the public Microsoft marketplace

What's changed from upstream

The table below summarises every category of change. The review records in docs/equinor-alignment/reviews/ contain the detailed per-plugin assessment.

Category What was added or changed Why
.github/skills/ and .github/agents/ equinor-plugin-reviewer agent + review-plugin and sync-upstream skills Automates governance review and upstream synchronisation using the Equinor checklist
docs/equinor-alignment/ Baseline, sync policy, checklist, JSON schema, and per-plugin review records Provides the canonical, reviewable source of truth for internal publication decisions
.github/skills/ review-plugin, sync-upstream, docs-conventions, docs-review, copilot-cost, update-copilot-pricing Installs Equinor-specific agent skills into every project that uses this fork
.github/copilot-instructions.md Project-level Copilot instructions Grounds Copilot in Equinor authority hierarchy (EMS → varia.equinor.com → Tech Radar → Microsoft docs)
.github/instructions/ Markdown, documentation, and alignment instruction files Enforces shared Equinor documentation conventions across all AI-assisted authoring
.devcontainer/ Dev container with Equinor CA certificates and standard tooling Ensures consistent, trusted development environments inside Equinor's network
plugins/code-apps/ EDS integration guidance, mandatory deploy confirmation, updated development standards Aligns generated code apps with Equinor Design System and prevents accidental production deploys
scripts/install.js Extended to support GitHub Copilot project-scoped installation, Equinor fork URLs, and Open Plugins marketplace resolution Lets teams install into .github/ for shared team use while staying compatible with the upstream marketplace layout
scripts/validate-plugin-reviews.js New script CI-validates review records against the JSON schema before any plugin state change merges
scripts/check-sync-scope.js New script Partitions a pull request by review depth and fails when an unadopted plugin diverges from upstream outside the declared transforms
SECURITY.md Updated to Equinor responsible disclosure contacts Replaces Microsoft-only disclosure path with Equinor contacts

Plugin publication status

Current review status for each plugin. A review record reaching controlled-pilot or higher means the Equinor alignment team has found sufficient evidence to recommend piloting — it is not a compliance certificate or a guarantee of correctness.

Plugin Status Review record
code-apps-preview controlled-pilot reviews/code-apps-preview.json
power-pages defer reviews/power-pages.json
model-apps defer reviews/model-apps.json
canvas-apps defer reviews/canvas-apps.json
mcp-apps defer reviews/mcp-apps.json
mobile-app defer reviews/mobile-app.json
power-apps-mobile-extension defer reviews/power-apps-mobile-extension.json
power-automate defer reviews/power-automate.json
pcf defer reviews/pcf.json
process-intelligence defer reviews/process-intelligence.json
dataverse not-reviewed, not listed reviews/dataverse.json

defer means the plugin has an initial review record but lacks sufficient evidence (owner confirmation, DLP mapping, Tech Radar positioning, or EDS compliance) to recommend piloting. Plugins with a defer status warrant extra care — review the record and understand what is still outstanding before adopting them in your team's workflow.

A defer plugin is mirrored from upstream rather than maintained here. Its tree stays byte-identical to microsoft/power-platform-skills apart from a short list of declared transforms: the fork is repointed so install commands and bug reports come here, and the upstream telemetry stack is removed pending a privacy review. Equinor does not patch defects in a mirrored plugin; they are reported upstream so every consumer gets the fix, and recorded in the plugin's review record so the next adoption decision sees them. See sync-policy.md.

That still beats taking the plugin from the public repository: you get it repointed, without telemetry, with a published review record naming the open blockers, and with an installer that refuses to install it unless you ask for it by name. It is not a guarantee of quality. It is a better starting point, and the plugins that clear the review bar become the default.

Regardless of review status, AI agents are not a substitute for human judgement. No review process can guarantee that a plugin's output will be correct, compliant, or appropriate for your context. Alignment with Equinor standards is the goal of the review process, and we believe it helps — but responsibility for how these plugins are used always rests with the people using them. Practice responsible AI use: understand what a plugin does before running it, verify generated artefacts before deploying them, and raise concerns through the support channels listed in each review record.


Installation

GitHub Copilot (VS Code) — Project-Scoped

For team use, install skills and agents into your project's .github/ directory so all contributors benefit:

# Install a specific plugin (recommended)
node scripts/install.js --scope project --plugin code-apps-preview

# Install multiple plugins
node scripts/install.js --scope project --plugin power-pages,code-apps-preview

This copies agent definitions into .github/agents/, instructions into .github/instructions/, and skills into .github/skills/, following the GitHub Copilot customization convention. Commit these files to share with your team.

Note

There is no automatic update for project-scoped installs. To get the latest plugin content, re-run the installer and commit the updated files.

Or run without cloning:

curl -fsSL https://raw.githubusercontent.com/equinor/power-platform-skills/main/scripts/install.js | node - --scope project --plugin code-apps-preview

Available plugins: power-pages, model-apps, pcf, mcp-apps, canvas-apps, code-apps-preview, mobile-app, power-apps-mobile-extension, power-automate, process-intelligence

Important

Deferred plugins are never installed implicitly. Run without --plugin and the installer installs only plugins reviewed to controlled-pilot or above, and prints which ones it skipped. A defer plugin still has unresolved policy, security, or ownership blockers and may activate an unreviewed MCP server, so installing one is an explicit choice: name it with --plugin <name>, or pass --include-deferred to take the whole marketplace. Statuses come from docs/equinor-alignment/reviews. If a review record cannot be read, the plugin is treated as not adopted.

Claude Code — User-Scoped

For Claude Code users, the installer registers the marketplace and installs plugins at user level:

node scripts/install.js

Or run directly without cloning:

Windows (PowerShell):

iwr https://raw.githubusercontent.com/equinor/power-platform-skills/main/scripts/install.js -OutFile install.js; node install.js; del install.js

macOS/Linux:

curl -fsSL https://raw.githubusercontent.com/equinor/power-platform-skills/main/scripts/install.js | node

The installer automatically:

  • Detects available tools (Claude Code, GitHub Copilot CLI)
  • Installs pac CLI if not already installed
  • Registers the plugin marketplace and installs the adopted plugins (see the note above)
  • Enables auto-update so plugins stay current without manual steps

Manual Installation (Claude Code)

Inside a Claude Code session:

  1. Add the marketplace

    /plugin marketplace add equinor/power-platform-skills
  2. Install the desired plugin

    /plugin install power-pages@power-platform-skills
    /plugin install model-apps@power-platform-skills
    /plugin install pcf@power-platform-skills
    /plugin install mcp-apps@power-platform-skills
    /plugin install code-apps-preview@power-platform-skills
    /plugin install mobile-app@power-platform-skills
    /plugin install power-apps-mobile-extension@power-platform-skills
    /plugin install canvas-apps@power-platform-skills
    /plugin install power-automate@power-platform-skills
    /plugin install process-intelligence@power-platform-skills

Where Are Things Installed?

Scope Platform Location
project GitHub Copilot (VS Code) .github/agents/, .github/instructions/, .github/skills/
user (default) Claude Code ~/.claude/plugins/

The marketplace registry (Claude Code) is stored at ~/.claude/plugins/known_marketplaces.json.

Uninstall

GitHub Copilot (project-scoped): Delete the installed files from .github/agents/, .github/instructions/, and .github/skills/.

Claude Code (user-scoped):

# Inside a Claude Code session
/plugin uninstall power-pages
/plugin uninstall model-apps
/plugin uninstall pcf
/plugin uninstall mcp-apps
/plugin uninstall code-apps-preview
/plugin uninstall mobile-app
/plugin uninstall power-apps-mobile-extension
/plugin uninstall canvas-apps
/plugin uninstall power-automate
/plugin uninstall process-intelligence
/plugin marketplace remove 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 model-driven Power Apps end to end, and the generative pages that go in them.

Skills: /app-builder (Preview) builds and edits a whole app — tables, relationships, forms, views, charts, security roles, app + sitemap — from a natural-language intent; /genpage builds generative pages for an app that already exists. Use either independently — neither requires the other

Stack: React + TypeScript + Fluent, deployed via PAC CLI and the headless cds-maker-sdk

PCF (plugins/pcf)

Build, test, diagnose, upgrade, deploy, verify and inventory Power Apps component framework (PCF) code components for model-driven apps, with guided setup for Power Pages field controls and canvas apps. Canvas apps need an admin to turn on Power Apps component framework for canvas apps in each environment.

Skills: /pcf:pcf scaffolds Microsoft-maintained PCF templates and recipes, runs gates, deploys with PAC, and verifies registration and bindings.

Status: Preview — see capabilities

Stack: Node.js 20+, Power Apps component framework, PAC CLI, .NET SDK, and Azure CLI for verification/inventory

MCP Apps (plugins/mcp-apps)

Generate self-contained JavaScript server runtimes, JSON Schema registration metadata, and interactive single-file MCP App widgets for codeful MCP tools.

Skills: /generate-codeful-mcp-tool creates a named runTool server entry point plus its description, MCP behavior annotations, input schema, and structured output schema, with verified Dataverse access; /generate-mcp-app-ui creates an HTML widget that embeds its runtime by default for hosts that block public URLs, while retaining an opt-in CDN mode. It can consume model-visible content, structured output, and widget-private metadata.

Stack: JavaScript codeful tools + 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

Mobile Apps (plugins/mobile-apps)

Build and deploy Power Apps code apps for mobile with native device capabilities.

Stack: Expo + React Native + TypeScript, deployed via Power Apps Wrap

Power Apps Mobile Extension (plugins/power-apps-mobile-extension)

Build third-party native controls for wrapped Canvas apps and package them as verified .ppmplugin bundles with matching dispatcher PCF controls.

Stack: Kotlin + Objective-C, Power Apps component framework, and Power Apps Wrap

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

Power Automate (plugins/power-automate)

Build, edit, run, and debug Power Automate cloud flows via the FlowAgent MCP server.

Stack: Node.js 18+, Azure CLI (az login), self-contained MCP bundle

Process Intelligence (plugins/process-intelligence)

Analyze Power Automate Process Mining data, including bottlenecks, variants, cohorts, rework and object-centric executions through guided MCP workflows.

Skills: /analytics and /investigate-process guide analysis; /analyze-performance, /analyze-variants, /analyze-drivers, /compare-cohorts, /derive-metric and /analyze-objects answer focused questions. /setup and /report-issue handle connection setup and support drafts. See the skill catalog.

Stack: Node.js 22 or 24 LTS, Azure CLI, self-contained MCP bundle

GCC, GCC High, DoD and Mooncake are not supported yet.

Note

Upstream also lists a dataverse plugin installed straight from microsoft/Dataverse-skills. This fork does not list it: an external source would bypass the sync policy and its declared transforms. See reviews/dataverse.json.

Local Development

To develop and test plugins locally, follow these steps:

  1. Clone this repository

  2. 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/pcf
    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/mobile-apps
    claude --plugin-dir /path/to/power-platform-skills/plugins/power-apps-mobile-extension
    claude --plugin-dir /path/to/power-platform-skills/plugins/canvas-apps
    claude --plugin-dir /path/to/power-platform-skills/plugins/power-automate
    claude --plugin-dir /path/to/power-platform-skills/plugins/process-intelligence

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/
│   └── marketplace.json      # Legacy marketplace mirror for existing subscriptions
├── .claude/
│   └── settings.json         # Auto-allowed tools (pac, node, dotnet, etc.)
├── plugins/
│   ├── power-pages/          # Power Pages plugin
│   │   ├── .plugin/
│   │   │   └── plugin.json
│   │   ├── .claude-plugin/
│   │   │   └── plugin.json
│   │   ├── commands/
│   │   ├── shared/
│   │   └── skills/
│   ├── model-apps/           # Model Apps plugin
│   |   ├── .plugin/
│   │   └── plugin.json
│   |   ├── .claude-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
│   │   ├── .claude-plugin/
│   │   │   └── plugin.json
│   │   ├── agents/
│   │   ├── skills/
│   │   └── shared/           # Shared instructions + references
│   ├── mobile-apps/          # Mobile Apps plugin
│   │   ├── .plugin/
│   │   │   └── plugin.json
│   │   ├── .claude-plugin/
│   │   │   └── plugin.json
│   │   ├── agents/
│   │   ├── skills/
│   │   ├── shared/           # Shared instructions + references
│   │   └── template/         # Bundled Expo app template
│   ├── power-apps-mobile-extension/ # Native controls for wrapped Canvas apps
│   │   ├── .plugin/
│   │   │   └── plugin.json
│   │   ├── .claude-plugin/
│   │   │   └── plugin.json
│   │   ├── shared/
│   │   └── skills/
│   ├── power-automate/       # Power Automate cloud flows plugin
│   │   ├── .plugin/
│   │   │   └── plugin.json
│   │   ├── .claude-plugin/
│   │   │   └── plugin.json
│   │   ├── references/
│   │   ├── server/           # Self-contained FlowAgent MCP bundle
│   │   └── skills/
│   └── canvas-apps/          # Canvas Apps plugin
│       ├── .plugin/
│       │   └── plugin.json
│       ├── .claude-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 shared marketplace keeps marketplace-level owner and metadata, while each plugin entry is intentionally just name plus repository-root-relative source.

Documentation

Telemetry

This fork does not ship the upstream 1DS usage telemetry stack. It is excluded from every plugin pending a separate governance and privacy review, so no plugin installed from this repository transmits usage telemetry. See the telemetry-exclusion transform in sync-policy.md.

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.

About

A plugin marketplace for Claude Code/GitHub Copilot that provides Power Platform development plugins, including reusable skills, agents, and commands for building and deploying solutions.

Resources

Code of conduct

Contributing

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages