publish-pcf-companion

Deploys dispatcher PCF controls to Power Platform environments via pac pcf push.

808|167|Updated Jan 21, 2026
One-click install
npx skills add https://github.com/microsoft/power-platform-skills --skill publish-pcf-companion
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: publish-pcf-companion
Source: https://github.com/microsoft/power-platform-skills/tree/main/plugins/power-apps-mobile-extension/skills/publish-pcf-companion
Command: npx skills add https://github.com/microsoft/power-platform-skills --skill publish-pcf-companion

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Deploying a Power Apps Component Framework (PCF) control to a Power Platform environment involves multiple error-prone steps: verifying toolchain prerequisites, choosing a valid publisher prefix, managing version bumps to bust PCF caching, and confirming the correct target environment. This Skill automates that deployment workflow with confirmation gates that prevent wrong-environment deploys and stale-cache pushes.

Core Features & Use Cases

  • Prerequisite verification: Checks Node.js 20+, npm, .NET SDK, pac CLI, and an active pac auth profile before any deployment action, with guided fixes for failures.
  • Three confirmation gates: Prompts for publisher prefix (2-8 chars, validated), version bump strategy (patch/minor/major/none), and explicit target environment confirmation showing the full env URL and signed-in identity.
  • Build and push execution: Discovers the PCF project via ControlManifest.Input.xml, runs npm build when needed, and executes pac pcf push with the chosen prefix.
  • Deployment history tracking: Records each deployment (timestamp, environment URL, version, prefix) in .extension-state.md for audit and prefix reuse.
  • Use Case: An engineer who scaffolded a dispatcher PCF for a .ppmplugin control wants to ship it to a test environment. The skill verifies auth, confirms the env is wrap-player-test-env rather than a bug-bash env, bumps the patch version, rebuilds, and pushes.

Quick Start

Ask the assistant to run /publish-pcf-companion from a repository containing a PRD.md and a scaffolded pcf directory to deploy the dispatcher PCF to your active Power Platform environment.

Frequently Asked Questions about publish-pcf-companion

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

FAQPage Schema
How do I deploy a PCF control to a Power Platform environment?

Run pac pcf push --publisher-prefix <prefix> from the PCF project root after building with npm run build. This skill automates the full flow: it verifies prerequisites, confirms the publisher prefix and target environment, optionally bumps the control version, rebuilds, and pushes.

Why should I bump the PCF version before pushing?

Power Platform caches PCF controls by version in deployed apps. Re-pushing the same version may not invalidate caches, so apps keep loading the old bundle. Bumping the patch version on every meaningful push ensures apps receive your changes.

What are the publisher prefix requirements for pac pcf push?

The publisher prefix must be 2-8 characters, start with a lowercase letter, and contain only lowercase letters and digits. pac pcf push rejects prefixes outside that length range, and the prefix must exist as a publisher in the target environment.

What prerequisites does PCF deployment require?

You need Node.js 20+ with npm, the .NET SDK, the pac CLI (Microsoft.PowerApps.CLI.Tool), and an active pac auth profile targeting the deployment environment. The skill checks all four and offers fixes, such as dotnet tool install for a missing pac CLI.

Why does pac pcf push fail with publisher prefix not found?

The chosen prefix does not exist as a publisher in the target environment. An environment admin can add it with pac solution publisher-add --prefix <prefix>, or you can re-run the deployment and select a prefix that already exists in that environment.

Can I deploy a PCF without rebuilding it first?

Yes, but only if you did not bump the version and you trust the existing out/ directory. If the manifest version changed, a rebuild is mandatory because pushing a stale bundle with a new manifest version would deploy mismatched code.