assemble-ppmplugin

Assemble and verify the final .ppmplugin binary bundle for Power Apps mobile native extensions.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Shipping a Power Apps mobile native extension requires packaging the manifest and platform binaries into a single .ppmplugin bundle, and a mismatch between declared platforms and built binaries produces a broken deliverable. This Skill reconciles the manifest against staged binaries, validates the result, and zips a verified bundle.

Core Features & Use Cases

  • Manifest-binary reconciliation: Compares declared entrypoints (Android DEX, iOS framework) against staged binaries and gates on mismatches instead of shipping a broken bundle.
  • Validation and packaging: Re-runs upload-compatibility checks on the reconciled manifest, then zips the manifest plus shipped platform folders into <name>.ppmplugin using jar.
  • Archive verification: Lists the bundle with jar tf and asserts it contains exactly the manifest and the shipped binaries, blocking stray files, build directories, or .xcframework leaks.
  • Use Case: After generating a manifest and building an Android DEX for a pen-input control, run this Skill to produce a verified pen-input.ppmplugin ready for the audit and upload stages.

Quick Start

Assemble the staged manifest and built binaries into a verified .ppmplugin bundle for my native extension.

Frequently Asked Questions about assemble-ppmplugin

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

FAQPage Schema
How do I package a Power Apps mobile native extension into a .ppmplugin file?

Run this Skill after generating the manifest and building platform binaries. It reconciles declared entrypoints against staged binaries, validates the manifest, zips the contents with jar into <name>.ppmplugin, and verifies the archive layout.

What happens if the manifest declares a platform with no built binary?

The Skill gates on the mismatch instead of shipping a broken bundle. It asks whether to build the missing platform first, ship without it by removing that entrypoint from the manifest, or stop entirely.

Can I bundle an iOS .xcframework into a .ppmplugin?

No. The bundle requires a flat device-slice .framework containing the binary, Headers, Modules/module.modulemap, and Info.plist. If an .xcframework is staged, the Skill surfaces it as a gate and directs you to rebuild with the iOS build skill.

What prerequisites does the .ppmplugin assembly step require?

The jar tool from a JDK (JDK 17) must be available, plus a staged manifest.json from the manifest generation skill and at least one built binary from the Android or iOS build skills. Missing jar stops the run with a blocked error.

Why does bundle verification fail after zipping?

Verification fails if build directories leaked into the archive, stray files like .DS_Store or META-INF appear, an .xcframework is present, or a declared platform's binary is missing. The bundle must contain exactly the manifest plus the shipped binaries.