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 agentmods add skills/microsoft/winappcli/winapp-signingnpx skills add microsoft/winappCli --skill winapp-signinggit clone --depth 1 https://github.com/microsoft/winappCliWhat 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 | $0.00038 | $0.01993 |
| Opus 5 | $0.00019 | $0.00996 |
| Sonnet 5 | $0.00008 | $0.00399 |
| Haiku 4.5 | $0.00004 | $0.00199 |
Grade A, and why
winapp-signing 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 2d 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 — 138 lines — stays where its author put it; the contents beside it link to each section on GitHub.
When to use
Use this skill when:
- Generating a development certificate for local MSIX signing and testing
- Installing (trusting) a certificate on a machine so MSIX packages can be installed
- Signing an MSIX package or executable for distribution
- Signing with Azure Trusted Signing (cloud-managed signing identity) via
winapp az-sign
Prerequisites
- winapp CLI installed
- Administrator access required for
cert install(trusting certificates on the machine)
Key concepts
Publisher matching: The publisher in your certificate must exactly match the Publisher attribute in Package.appxmanifest. Any valid X.500 distinguished name is supported (e.g., CN=MyCompany or OU=Team, O=Corp, C=US). Use --manifest when generating to auto-match.
Dev vs. production certs: winapp cert generate creates self-signed certificates for local testing only. For production distribution (Microsoft Store or enterprise), obtain a certificate from a trusted Certificate Authority.
Default password: Generated certificates use password as the default PFX password. Override with --password.
Usage
Generate a development certificate
# Auto-infer publisher from Package.appxmanifest in the current directory
winapp cert generate
# Explicitly point to a manifest
winapp cert generate --manifest ./path/to/Package.appxmanifest
# Set publisher manually (when no manifest exists yet)
winapp cert generate --publisher "CN=Contoso, O=Contoso Ltd, C=US"
# Custom output path and password
winapp cert generate --output ./certs/myapp.pfx --password MySecurePassword
# Custom validity period
winapp cert generate --valid-days 730
# Overwrite existing certificate
winapp cert generate --if-exists overwrite
Output: devcert.pfx (or custom path via --output).
Install (trust) a certificate
# Trust the certificate on this machine (requires admin/elevated terminal)
winapp cert install ./devcert.pfx
# Force reinstall even if already trusted
winapp cert install ./devcert.pfx --force
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.
- 2d ago First seen · 138 lines · 38 tokens per session scan A 104100cead48
winapp-signing is a skill published in the GitHub repository microsoft/winappCli (1,205 stars, last pushed 4d ago), licensed MIT. It adds 38 tokens to every session and 1,993 once invoked, about $0.0002 per session on Opus 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-08-30.
Other skills, from other repositories
chat-perf
Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.
heap-snapshot-analysis
Analyze V8 heap snapshots to investigate memory leaks and retention issues. Use when given .heapsnapshot files, asked to compare before/after snapshots, asked to find what retains objects, or investigating why objects survive GC. Provides snapshot parsing, comparison, retainer-path helpers, and scratchpad scripts.
integrated-browser
Use this when working on the VS Code integrated browser ("browserView") to understand its architecture and mental model. Covers the embedded Chromium browser, its editor tab, navigation, overlay/layout, sessions, and agent browser tools under src/vs/platform/browserView and src/vs/workbench/contrib/browserView.
agent-host-e2e-tests
Use when writing, recording, updating, or troubleshooting the agent host end-to-end tests under src/vs/platform/agentHost/test/node/e2e (black-box tests that drive the whole agent host over the AHP protocol, using a CapiReplayProxy record/replay system for Claude/Copilot/Codex). Covers adding a cross-provider test…
agent-host-logs
Analyze Agent Host debug log exports. Use when given an ah-logs or ahp-logs zip/folder, an Export Agent Host Debug Logs bundle, events.jsonl, AHP JSONL transport logs, Agent Host.log, remote-agenthost.log, or copilot-logs.
launch
Launch Code OSS (VS Code from sources) into an isolated throwaway profile with unique debug ports so you can drive it with @playwright/cli AND attach a Node debugger via dap-cli in the same session. Use when working on VS Code itself and you want to interact with the running workbench, automate chat or UI flows, test…