winapp CLI is a command-line tool for Windows application development that manages SDKs, app identity, manifests, certificates, packaging, and build tools. It helps developers using frameworks such as .NET, Win32, CMake, Electron, or Rust access Windows-native development capabilities. The catalogue add-ons provide agent workflows for using the CLI.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add microsoft/winappCli --skill winui-packaginggit clone --depth 1 https://github.com/microsoft/winappCliWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/microsoft/winappcli/winui-packaging)<a href="https://agentmods.dev/skills/microsoft/winappcli/winui-packaging"><img src="https://agentmods.dev/badge/skills/microsoft/winappcli/winui-packaging/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/microsoft/winappcli/winui-packaging"><img src="https://agentmods.dev/badge/skills/microsoft/winappcli/winui-packaging.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00075 | $0.01683 |
| Opus 5.5 | $0.00030 | $0.00673 |
| Sonnet 5.5 | $0.00015 | $0.00337 |
| Haiku 4.5 | $0.00007 | $0.00168 |
Grade A, and why
winui-packaging scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Scope: WinUI 3 apps only. The Windows App SDK is not WinUI. A WPF, WinForms, Electron, or other app that references the Windows App SDK (for notifications, packaging, or other APIs) is not a WinUI app; keep its framework and don't apply this skill unless the task is to port it to WinUI 3. A WinUI 3 project has <UseWinUI>true</UseWinUI> or uses Microsoft.UI.Xaml.
Requires WinApp CLI 0.7+. For analyzer setup, see winui-dev-workflow.
Quick Reference
| Task | Command |
|---|---|
| Release package + sign | winapp package .\MyApp.csproj --arch x64 --cert .\devcert.pfx |
| Unsigned multi-architecture bundle | winapp package .\MyApp.csproj --arch x64 --arch arm64 --no-sign |
| Generate dev certificate | winapp cert generate |
| Trust certificate (admin) | winapp cert install ./devcert.pfx |
| Sign existing file | winapp sign ./app.msix ./devcert.pfx |
| Bundle Windows App SDK runtime | winapp package .\MyApp.csproj --arch x64 --cert .\devcert.pfx --self-contained |
End-to-End Workflow
Step 1: Check the Project and Deployment Intent
- Pass the explicit project file, not
.or a guessedbinfolder. WinUI project packaging uses SDK-nativedotnet publishpackaging, defaults to Release, and preserves project AOT settings. - Check manifest identity, target architectures, the SDK for the app's TFM, and release warnings.
- For Native AOT, set
<PublishAot>true</PublishAot>in the project and fix IL/CsWinRT warnings; there is nowinapp package --aot. AOT also needs the MSVC C++ build tools. See source-generator patterns. - Project packaging rejects
WindowsPackageType=None; restore the packaged setting first (seewinui-dev-workflowCritical Rules).
Do not run/register/unregister a development package just to produce release artifacts. Project packaging builds without a development winapp run --no-launch step. For WinUI SDK-native packaging, do not pass layout overrides --manifest, --executable, or --skip-pri; fix the project/manifest instead.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago Changed · +2 lines · -6 tokens per session 0ca35d4c486f
- 9d ago First seen · 103 lines · 81 tokens per session scan A b9d2546bb273
winui-packaging is a skill published in the GitHub repository microsoft/winappCli (1,314 stars, last pushed today), licensed MIT. It adds 75 tokens to every session and 1,683 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-07.
Other skills, from other repositories
critique
Expertise in auditing and fixing repository scripts and GitHub Actions workflows to ensure technical robustness and security.
fix-ci
Fix the failed CI checks for the current session. Use when the user requests a CI fix via the Fix Checks button in the Changes toolbar.
atmos-hooks
Atmos hooks: lifecycle events, hook kinds, command/store/git/security hooks, step/steps hooks, when: conditions, scoping and overrides, toolchain integration, --skip-hooks, and Atmos Pro/local output.
atmos-modernization
Atmos Modernization: migrate deprecated or legacy Atmos patterns to current names, Native CI, Atmos Pro drift detection, dependencies.components, nametemplate, and declared secrets.
atmos-pro
Atmos Pro setup and workflows: settings.pro, GitHub OIDC, affected and inventory uploads, stack locks, pro commit, workflow dispatch, merge queues, and drift detection.
atmos-sbom
Atmos SBOM provenance: CycloneDX and SPDX generation from vendor and Terraform evidence, coverage diagnostics, NTIA validation, and native CI workflow-artifact publication.