MR
Mayur Rathi
@github
⭐ 34.1k GitHub stars

Winmd-Api-Search

Winmd-Api-Search是一款data方向的AI技能,核心价值是Find and explore Windows desktop APIs,可用于解决开发者在data领域的实际问题,帮助用户提升效率、自动化重复任务或优化工作流。

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 righ

Last verified on: 2026-05-30
mkdir -p ./skills/winmd-api-search && curl -sfL https://raw.githubusercontent.com/github/awesome-copilot/main/skills/winmd-api-search/SKILL.md -o ./skills/winmd-api-search/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# 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.


How to Use


Pick the path that matches the situation:


---


Discover — "I don't know which API to use"


The user describes a capability in their own words. You need to find the right API.


**0. Ensure the cache exists**


If the cache hasn't been generated yet, run `Update-WinMdCache.ps1` first — see [Cache Setup](#cache-setup-required-before-first-use) above.


**1. Translate user language → search keywords**


Map the user's daily language to programming terms. Try multiple variations:


| User says | Search keywords to try (in order) |

|-----------|-----------------------------------|

| "take a picture" | `camera`, `capture`, `photo`, `MediaCapture` |

| "load from disk" | `file open`, `picker`, `FileOpen`, `StorageFile` |

| "describe what's in it" | `image description`, `Vision`, `Recognition` |

| "show a popup" | `dialog`, `flyout`, `popup`, `ContentDialog` |

| "drag and drop" | `drag`, `drop`, `DragDrop` |

| "save settings" | `settings`, `ApplicationData`, `LocalSettings` |


Start with simple everyday words. If results are weak or irrelevant, try the more technical variation.


**2. Run searches**


powershell
.\.github\skills\winmd-api-search\scripts\Invoke-WinMdQuery.ps1 -Action search -Query "<keyword>"

This returns ranked namespaces with top matching types and the **JSON file path**.


If results have **low scores (below 60) or are irrelevant**, fall back to searching online documentation:


1. Use web search to

🎯 Best For

  • UI designers
  • Product designers
  • Claude users
  • GitHub Copilot users
  • Data professionals

💡 Use Cases

  • Generating component mockups
  • Creating design system tokens
  • Data pipeline auditing
  • Query optimization

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude or GitHub Copilot and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Winmd-Api-Search to Your Work

    Provide context for your task — paste source material, describe your audience, or share existing work to guide the AI.

  4. 4

    Review and Refine

    Edit the AI output for accuracy, tone, and completeness. Add human insight where the AI lacks context.

❓ Frequently Asked Questions

Does this work with Figma?

Some design skills integrate with Figma plugins. Check the Works With section for supported tools.

How do I install Winmd-Api-Search?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/winmd-api-search/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Skipping usability testing

AI-generated designs should be validated with real users before development.

Ignoring data quality

AI analysis inherits all data quality issues — profile your data first.

🔗 Related Skills