You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Purpose:** Regenerate all required icon sizes, scale variants, and app.ico from a single source image (PNG, SVG, ICO, etc.).
148
+
**When to use:** When updating your app icon. Source image should be at least 400×400 pixels. SVG recommended for best quality. Use `--light-image` for light theme variants.
Copy file name to clipboardExpand all lines: .github/plugin/plugin.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
{
2
2
"name": "winapp-cli",
3
3
"description": "Windows app development, packaging, and distribution. Helps with creating Windows installers (MSIX), code signing, certificates, Windows SDK and Windows App SDK setup, package identity for Windows APIs (push notifications, background tasks, share target), appxmanifest authoring, and Microsoft Store distribution. Supports Electron, .NET, C++, Rust, Flutter, and Tauri apps.",
Copy file name to clipboardExpand all lines: .github/plugin/skills/winapp-cli/frameworks/SKILL.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
name: winapp-frameworks
3
3
description: Framework-specific Windows development guidance for Electron, .NET (WPF, WinForms), C++, Rust, Flutter, and Tauri. Use when packaging or adding Windows features to an Electron app, .NET desktop app, Flutter app, Tauri app, Rust app, or C++ app.
Copy file name to clipboardExpand all lines: .github/plugin/skills/winapp-cli/identity/SKILL.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
name: winapp-identity
3
3
description: Enable Windows package identity for desktop apps to access Windows APIs like push notifications, background tasks, share target, and startup tasks. Use when adding Windows notifications, background tasks, or other identity-requiring Windows features to a desktop app.
Copy file name to clipboardExpand all lines: .github/plugin/skills/winapp-cli/manifest/SKILL.md
+21-7Lines changed: 21 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
name: winapp-manifest
3
-
description: Create and edit Windows app manifest files (appxmanifest.xml) that define app identity, capabilities, and visual assets. Use when creating a Windows app manifest for any app type (GUI, console, CLI tool, service), adding Windows capabilities, updating app icons and assets, or adding execution aliases, file associations, protocol handlers, or other app extensions.
4
-
version: 0.2.1
3
+
description: Create and edit Windows app manifest files (appxmanifest.xml) that define app identity, capabilities, and visual assets, or generate new assets from existing images. Use when creating a Windows app manifest for any app type (GUI, console, CLI tool, service), adding Windows capabilities, generating new app icons and assets, or adding execution aliases, file associations, protocol handlers, or other app extensions.
4
+
version: 0.2.2
5
5
---
6
6
## When to use
7
7
@@ -13,7 +13,7 @@ Use this skill when:
13
13
## Prerequisites
14
14
15
15
- winapp CLI installed
16
-
- Optional: a source image (PNG, at least 400x400 pixels) for custom app icons
16
+
- Optional: a source image (PNG or SVG, at least 400x400 pixels) for custom app icons
17
17
18
18
## Key concepts
19
19
@@ -64,11 +64,24 @@ Output:
64
64
# Generate all required icon sizes from one source image
65
65
winapp manifest update-assets ./my-logo.png
66
66
67
+
# SVG source images produce the best quality at all sizes
68
+
winapp manifest update-assets ./my-logo.svg
69
+
67
70
# Specify manifest location (if not in current directory)
The source image should be at least 400x400 pixels (PNG recommended). The command reads the manifest to determine which asset sizes are needed and generates them all.
80
+
The source image should be at least 400x400 pixels (PNG or SVG recommended). The command reads the manifest to determine which asset sizes are needed and generates:
81
+
-**5 scale variants** per asset (100%, 125%, 150%, 200%, 400%)
82
+
-**14 plated + 14 unplated targetsize variants** for the app icon (44x44)
83
+
-**app.ico** — multi-resolution ICO file for shell integration. If an existing `.ico` file is present in the assets directory, it is replaced in-place (preserving the original filename)
84
+
- With `--light-image`: light theme variants using the correct MRT qualifiers per asset type
72
85
73
86
## Manifest structure overview
74
87
@@ -113,7 +126,7 @@ Key fields to edit:
113
126
- The `sparse` template adds `uap10:AllowExternalContent="true"` for apps that need identity but run outside the MSIX container
114
127
- You can manually edit `appxmanifest.xml` after generation — it's a standard XML file
115
128
- Image assets must match the paths referenced in the manifest — `update-assets` handles this automatically
116
-
- For logos, transparent PNGs work best. Use a square image for best results across all sizes.
129
+
- For logos, transparent PNGs or SVGs work best. SVG source images are rendered as vectors directly at each target size, producing pixel-perfect results. Use a square image for best results across all sizes.
117
130
-**`$targetnametoken$` placeholder:** When `winapp manifest generate` creates `appxmanifest.xml`, it sets `Application.Executable` to `$targetnametoken$.exe` by default. This is a valid placeholder that gets automatically resolved by `winapp package --executable <name>` at packaging time — you rarely need to override it during manifest generation. If `--executable` is provided to `winapp manifest generate`, winapp reads `FileVersionInfo` from the actual exe to auto-fill package name, description, publisher, and extract an icon, so the exe must already exist on disk.
118
131
119
132
## Related skills
@@ -125,7 +138,7 @@ Key fields to edit:
125
138
| Error | Cause | Solution |
126
139
|-------|-------|----------|
127
140
| "Manifest already exists" |`appxmanifest.xml` present | Use `--if-exists overwrite` to replace, or edit existing file directly |
128
-
| "Invalid source image" | Image too small or wrong format | Use PNG, at least 400x400 pixels |
141
+
| "Invalid source image" | Image too small or wrong format | Use PNG or SVG, at least 400x400 pixels |
129
142
| "Publisher mismatch" during packaging | Manifest publisher ≠ cert publisher | Edit `Identity.Publisher` in manifest, or regenerate cert with `--manifest`|
130
143
131
144
@@ -162,10 +175,11 @@ Generate new assets for images referenced in an appxmanifest.xml from a single s
162
175
<!-- auto-generated from cli-schema.json -->
163
176
| Argument | Required | Description |
164
177
|----------|----------|-------------|
165
-
|`<image-path>`| Yes | Path to source image file |
Copy file name to clipboardExpand all lines: .github/plugin/skills/winapp-cli/package/SKILL.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
name: winapp-package
3
3
description: Package a Windows app as an MSIX installer for distribution or testing. Use when creating a Windows installer, packaging an Electron/Flutter/.NET/Rust/C++/Tauri app for Windows, building an MSIX, distributing a desktop app, packaging a console app or CLI tool, or adding MSIX packaging to a build script or CI/CD pipeline.
Copy file name to clipboardExpand all lines: .github/plugin/skills/winapp-cli/setup/SKILL.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
name: winapp-setup
3
3
description: Set up a Windows app project for MSIX packaging, Windows SDK access, or Windows API usage. Use when adding Windows support to an Electron, .NET, C++, Rust, Flutter, or Tauri project, or restoring SDK packages after cloning.
Copy file name to clipboardExpand all lines: .github/plugin/skills/winapp-cli/signing/SKILL.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
name: winapp-signing
3
3
description: Create and manage code signing certificates for Windows apps and MSIX packages. Use when generating a certificate, signing a Windows app or installer, or fixing certificate trust issues.
Copy file name to clipboardExpand all lines: .github/plugin/skills/winapp-cli/troubleshoot/SKILL.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
name: winapp-troubleshoot
3
3
description: Diagnose and fix common Windows app packaging, signing, identity, and SDK errors. Use when encountering errors with MSIX packaging, certificate signing, Windows SDK setup, or app installation.
0 commit comments