All SkillsGet Started Free
Winmd API Search
Find and explore Windows desktop APIs. Use when building features that need platform capabilities — camera, file access, notifications, UI controls, AI/ML, sensors, networking, etc. Discovers the right API for a task and retrieves full type details (methods, properties, events, enumeration values).
MCP get_skill({ skillId: "winmd-api-search-e6ca92a8" })Use this skill with your agent
Create a free account and connect via MCP
# WinMD API Search This skill helps you find the right Windows API for any capability and get its full details. It searches a local cache of all WinMD metadata from: - **Windows Platform SDK** — all `Windows.*` WinRT APIs (always available, no restore needed) - **WinAppSDK / WinUI** — bundled as a baseline in the cache generator (always available, no restore needed) - **NuGet packages** — any additional packages in restored projects that contain `.winmd` files - **Project-output WinMD** — class libraries (C++/WinRT, C#) that produce `.winmd` as build output Even on a fresh clone with no restore or build, you still get full Platform SDK + WinAppSDK coverage. ## When to Use This Skill - User wants to build a feature and you need to find which API provides that capability - User asks "how do I do X?" where X involves a platform feature (camera, files, notifications, sensors, AI, etc.) - You need the exact methods, properties, events, or enumeration values of a type before writing code - You're unsure which control, class, or interface to use for a UI or system task ## Prerequisites - **.NET SDK 8.0 or later** — required to build the cache generator. Install from [dotnet.microsoft.com](https://dotnet.microsoft.com/download) if not available. ## Cache Setup (Required Before First Use) All query and search commands read from a local JSON cache. **You must generate the cache before running any queries.** ```powershell # All projects in the repo (recommended for first run) .\.github\skills\winmd-api-search\scripts\Update-WinMdCache.ps1 # Single project .\.github\skills\winmd-api-search\scripts\Update-WinMdCache.ps1 -ProjectDir <project-folder> ``` No project restore or build is needed for baseline coverage (Platform SDK + WinAppSDK). For additional NuGet packages, the project needs `dotnet restore` (which generates `project.assets.json`) or a `packages.config` file. Cache is stored at `Generated Files\winmd-cache\`, deduplicated per-package+version. ### What gets indexed | Source | When available | |--------|----------------| | Windows Platform SDK | Always (reads from local SDK install) | | WinAppSDK (latest) | Always (bundled as baseline in cache generator) | | WinAppSDK Runtime | When installed on the system (detected via `Get-AppxPackage`) | | Project NuGet packages | After `dotnet restore` or with `packages.config` | | Project-output `.winmd` | After project build (class libraries that produce WinMD) | > **Note:** This cache directory should be in `.gitignore` — it's generated, not source.
#github-copilot#api#designdotnetpowershellwindows