winapp-cli
Windows App Development CLI (winapp) for building, packaging, and deploying Windows applications. Use when asked to initialize Windows app projects, create MSIX packages, generate AppxManifest.xml, manage development certificates, add package identity for debugging, sign packages, or access Windows SDK build tools. Supports .NET, C++, Electron, Rust, Tauri, and cross-platform frameworks targeting Windows.
Install
mkdir -p .claude/skills/winapp-cli && curl -L -o skill.zip "https://mcp.directory/api/skills/download/520" && unzip -o skill.zip -d .claude/skills/winapp-cli && rm skill.zipInstalls to .claude/skills/winapp-cli
About this skill
Windows App Development CLI
The Windows App Development CLI (winapp) is a command-line interface for managing Windows SDKs, MSIX packaging, generating app identity, manifests, certificates, and using build tools with any app framework. It bridges the gap between cross-platform development and Windows-native capabilities.
When to Use This Skill
Use this skill when you need to:
- Initialize a Windows app project with SDK setup, manifests, and certificates
- Create MSIX packages from application directories
- Generate or manage AppxManifest.xml files
- Create and install development certificates for signing
- Add package identity for debugging Windows APIs
- Sign MSIX packages or executables
- Access Windows SDK build tools from any framework
- Build Windows apps using cross-platform frameworks (Electron, Rust, Tauri, Qt)
- Set up CI/CD pipelines for Windows app deployment
- Access Windows APIs that require package identity (notifications, Windows AI, shell integration)
Prerequisites
- Windows 10 or later
- winapp CLI installed via one of these methods:
- WinGet:
winget install Microsoft.WinAppCli --source winget - NPM (for Electron):
npm install @microsoft/winappcli --save-dev - GitHub Actions/Azure DevOps: Use setup-WinAppCli action
- Manual: Download from GitHub Releases
- WinGet:
Core Capabilities
1. Project Initialization (winapp init)
Initialize a directory with required assets (manifest, certificates, libraries) for building a modern Windows app. Supports SDK installation modes: stable, preview, experimental, or none.
2. MSIX Packaging (winapp pack)
Create MSIX packages from prepared directories with optional signing, certificate generation, and self-contained deployment bundling.
3. Package Identity for Debugging (winapp create-debug-identity)
Add temporary package identity to executables for debugging Windows APIs that require identity (notifications, Windows AI, shell integration) without full packaging.
4. Manifest Management (winapp manifest)
Generate AppxManifest.xml files and update image assets from source images, automatically creating all required sizes and aspect ratios.
5. Certificate Management (winapp cert)
Generate development certificates and install them to the local machine store for signing packages.
6. Package Signing (winapp sign)
Sign MSIX packages and executables with PFX certificates, with optional timestamp server support.
7. SDK Build Tools Access (winapp tool)
Run Windows SDK build tools with properly configured paths from any framework or build system.
Usage Examples
Example 1: Initialize and Package a Windows App
# Initialize workspace with defaults
winapp init
# Build your application (framework-specific)
# ...
# Create signed MSIX package
winapp pack ./build-output --generate-cert --output MyApp.msix
Example 2: Debug with Package Identity
# Add debug identity to executable for testing Windows APIs
winapp create-debug-identity ./bin/MyApp.exe
# Run your app - it now has package identity
./bin/MyApp.exe
Example 3: CI/CD Pipeline Setup
# GitHub Actions example
- name: Setup winapp CLI
uses: microsoft/setup-WinAppCli@v1
- name: Initialize and Package
run: |
winapp init --no-prompt
winapp pack ./build-output --output MyApp.msix
Example 4: Electron App Integration
# Install via npm
npm install @microsoft/winappcli --save-dev
# Initialize and add debug identity for Electron
npx winapp init
npx winapp node add-electron-debug-identity
# Package for distribution
npx winapp pack ./out --output MyElectronApp.msix
Guidelines
- Run
winapp initfirst - Always initialize your project before using other commands to ensure SDK setup, manifest, and certificates are configured. - Re-run
create-debug-identityafter manifest changes - Package identity must be recreated whenever AppxManifest.xml is modified. - Use
--no-promptfor CI/CD - Prevents interactive prompts in automated pipelines by using default values. - Use
winapp restorefor shared projects - Recreates the exact environment state defined inwinapp.yamlacross machines. - Generate assets from a single image - Use
winapp manifest update-assetswith one logo to generate all required icon sizes.
Common Patterns
Pattern: Initialize New Project
cd my-project
winapp init
# Creates: AppxManifest.xml, development certificate, SDK configuration, winapp.yaml
Pattern: Package with Existing Certificate
winapp pack ./build-output --cert ./mycert.pfx --cert-password secret --output MyApp.msix
Pattern: Self-Contained Deployment
# Bundle Windows App SDK runtime with the package
winapp pack ./my-app --self-contained --generate-cert
Pattern: Update Package Versions
# Update to latest stable SDKs
winapp update
# Or update to preview SDKs
winapp update --setup-sdks preview
Limitations
- Windows 10 or later required (Windows-only CLI)
- Package identity debugging requires re-running
create-debug-identityafter any manifest changes - Self-contained deployment increases package size by bundling the Windows App SDK runtime
- Development certificates are for testing only; production requires trusted certificates
- Some Windows APIs require specific capability declarations in the manifest
- winapp CLI is in public preview and subject to change
Windows APIs Enabled by Package Identity
Package identity unlocks access to powerful Windows APIs:
| API Category | Examples |
|---|---|
| Notifications | Interactive native notifications, notification management |
| Windows AI | On-device LLM, text/image AI APIs (Phi Silica, Windows ML) |
| Shell Integration | Explorer, Taskbar, Share sheet integration |
| Protocol Handlers | Custom URI schemes (yourapp://) |
| Device Access | Camera, microphone, location (with consent) |
| Background Tasks | Run when app is closed |
| File Associations | Open file types with your app |
Troubleshooting
| Issue | Solution |
|---|---|
| Certificate not trusted | Run winapp cert install <cert-path> to install to local machine store |
| Package identity not working | Run winapp create-debug-identity after any manifest changes |
| SDK not found | Run winapp restore or winapp update to ensure SDKs are installed |
| Signing fails | Verify certificate password and ensure cert is not expired |
References
More by github
View all →You might also like
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
rust-coding-skill
UtakataKyosui
Guides Claude in writing idiomatic, efficient, well-structured Rust code using proper data modeling, traits, impl organization, macros, and build-speed best practices.
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.