
publish-extension
✓ Official★ 136,000by microsoft · part of microsoft/powertoys
Guide for distributing your Command Palette extension through the Microsoft Store, WinGet, or both.
Guide for distributing your Command Palette extension through the Microsoft Store, WinGet, or both.
Inspect the full instructions your agent will receiveExpandCollapse
This is the exact playbook injected into your agent when the skill activates — shown here so you can audit it before installing. You don't need to read it to use the skill.
by microsoft
Guide for distributing your Command Palette extension through the Microsoft Store, WinGet, or both.
npx skills add https://github.com/microsoft/powertoys --skill publish-extension
Download ZIPGitHub136k
Publish Your Command Palette Extension
Guide for distributing your Command Palette extension through the Microsoft Store, WinGet, or both.
When to Use This Skill
-
Publishing your extension to the Microsoft Store
-
Submitting your extension to WinGet for
winget installdiscovery -
Setting up GitHub Actions to automate builds and releases
-
Creating MSIX packages for Store submission
-
Creating EXE installers for WinGet submission
Publishing Options
Channel Package Format Discovery Auto-Updates
Microsoft Store MSIX bundle Store app, ms-windows-store:// link Yes
WinGet EXE installer winget install, CmdPal browse Yes (via manifest)
Recommendation: Publish to both for maximum reach. WinGet enables direct discovery from within Command Palette.
Workflows
Microsoft Store Publishing
See store-publishing.md for the complete step-by-step guide.
Summary:
-
Register for Partner Center
-
Update
Package.appxmanifestand.csprojwith Partner Center identity -
Build MSIX for x64 and ARM64
-
Create MSIX bundle
-
Submit to Partner Center
WinGet Publishing
See winget-publishing.md for the complete step-by-step guide.
Summary:
-
Switch project to unpackaged mode
-
Create Inno Setup installer script
-
Build EXE installers
-
Submit manifest via
wingetcreate new -
Optionally automate with GitHub Actions
Important Notes
-
Your extension's CLSID (the
[Guid("...")]in your main .cs file) must be unique and consistent across all files -
WinGet manifests must include the
windows-commandpalette-extensiontag for CmdPal discovery -
MSIX packages require both x64 and ARM64 builds for Store submission
-
WindowsAppSdk must be listed as a dependency in WinGet manifests
npx skills add https://github.com/microsoft/powertoys --skill publish-extensionRun this in your project — your agent picks the skill up automatically.
Prerequisites
-
Visual Studio with C# and WinUI workloads
-
Partner Center account (for Store publishing)
-
GitHub CLI (for WinGet publishing)
-
WingetCreate —
winget install Microsoft.WingetCreate -
Inno Setup (for WinGet EXE packaging)
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.