winmd-api-search
Ajuda seu agente a encontrar e entender as APIs do Windows. É útil para criar funções que precisam acessar recursos do sistema, como câmera ou arquivos.
O que ela faz
Esta ferramenta ajuda você a encontrar as funções (APIs) corretas do Windows para adicionar recursos ao seu programa, como usar a câmera ou salvar arquivos. Ela busca os detalhes completos dessas funções.
Quando usar
- ✓Quando você quer criar uma nova funcionalidade e não sabe qual função usar.
- ✓Quando você pergunta 'como faço X?' e X envolve algo do sistema (câmera, arquivos, etc.).
- ✓Quando você precisa dos detalhes exatos de uma função antes de escrever o código.
Exemplo do que pedir para a IA
“Como faço para tirar uma foto usando o aplicativo?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta procura em um banco de dados local com informações sobre as funções do Windows. Ela traduz sua pergunta em termos técnicos e busca a função mais adequada, mostrando seus detalhes.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add github/awesome-copilot --skill winmd-api-searchOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/winmd-api-search/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Pesquisa de API WinMD
Esta habilidade ajuda você a encontrar a API do Windows certa para qualquer funcionalidade e obter seus detalhes completos. Ela pesquisa um cache local de todos os metadados WinMD de:
- Windows Platform SDK — todas as APIs
Windows.*WinRT (sempre disponíveis, sem necessidade de restauração) - WinAppSDK / WinUI — incluído como base no gerador de cache (sempre disponível, sem necessidade de restauração)
- Pacotes NuGet — quaisquer pacotes adicionais em projetos restaurados que contenham arquivos
.winmd - WinMD de saída do projeto — bibliotecas de classes (C++/WinRT, C#) que produzem
.winmdcomo saída de compilação
Mesmo em um clone novo, sem restauração ou compilação, você ainda obtém cobertura completa do Platform SDK + WinAppSDK.
Quando Usar Esta Habilidade
- O usuário quer criar um recurso e você precisa encontrar qual API fornece essa funcionalidade
- O usuário pergunta "como faço X?" onde X envolve um recurso da plataforma (câmera, arquivos, notificações, sensores, IA, etc.)
- Você precisa dos métodos, propriedades, eventos ou valores de enumeração exatos de um tipo antes de escrever o código
- Você não tem certeza de qual controle, classe ou interface usar para uma tarefa de UI ou de sistema
Pré-requisitos
- .NET SDK 8.0 ou posterior — necessário para compilar o gerador de cache. Instale em dotnet.microsoft.com se não estiver disponível.
Configuração do Cache (Obrigatório Antes do Primeiro Uso)
Todos os comandos de consulta e pesquisa leem de um cache JSON local. Você deve gerar o cache antes de executar quaisquer consultas.
# 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>
Nenhuma restauração ou compilação de projeto é necessária para cobertura básica (Platform SDK + WinAppSDK). Para pacotes NuGet adicionais, o projeto precisa de dotnet restore (que gera project.assets.json) ou de um arquivo packages.config.
O cache é armazenado em Generated Files\winmd-cache\, deduplicado por pacote+versão.
O que é indexado
| Fonte | Quando disponível |
|---|---|
| Windows Platform SDK | Sempre (lê da instalação local do SDK) |
| WinAppSDK (mais recente) | Sempre (incluído como base no gerador de cache) |
| WinAppSDK Runtime | Quando instalado no sistema (detectado via Get-AppxPackage) |
| Pacotes NuGet do projeto | Após dotnet restore ou com packages.config |
Saída do projeto .winmd |
Após a compilação do projeto (bibliotecas de classes que produzem WinMD) |
Observação: Este diretório de cache deve estar em
.gitignore— ele é gerado, não é código fonte.
Como Usar
Escolha o caminho que corresponde à situação:
Descobrir — "Não sei qual API usar"
O usuário descreve uma funcionalidade com suas próprias palavras. Você precisa encontrar a API certa.
0. Certifique-se de que o cache existe
Se o cache ainda não foi gerado, execute Update-WinMdCache.ps1 primeiro — veja Configuração do Cache acima.
1. Traduza a linguagem do usuário → palavras-chave de pesquisa
Mapeie a linguagem cotidiana do usuário para termos de programação. Tente várias variações:
| Usuário diz | Palavras-chave de pesquisa para tentar (em ordem) |
|---|---|
| "tirar uma foto" | camera, capture, photo, MediaCapture |
| "carregar do disco" | file open, picker, FileOpen, StorageFile |
| "descrever o que está nele" | image description, Vision, Recognition |
| "mostrar um pop-up" | dialog, flyout, popup, ContentDialog |
| "arrastar e soltar" | drag, drop, DragDrop |
| "salvar configurações" | settings, ApplicationData, LocalSettings |
Comece com palavras simples do dia a dia. Se os resultados forem fracos ou irrelevantes, tente a variação mais técnica.
2. Execute pesquisas
.\.github\skills\winmd-api-search\scripts\Invoke-WinMdQuery.ps1 -Action search -Query "<keyword>"
Isso retorna namespaces classificados com os principais tipos correspondentes e o caminho do arquivo JSON.
Se os resultados tiverem pontuações baixas (abaixo de 60) ou forem irrelevantes, recorra à pesquisa na documentação online:
- Use a pesquisa na web para encontrar a API certa no Microsoft Learn, por exemplo:
site:learn.microsoft.com/uwp/api <capability keywords>para APIs deWindows.*site:learn.microsoft.com/windows/windows-app-sdk/api/winrt <capability keywords>para APIs deMicrosoft.*WinAppSDK
- Leia as páginas de documentação para identificar qual tipo corresponde ao requisito do usuário.
- Assim que souber o nome do tipo, volte e use
-Action membersou-Action enumspara obter as assinaturas locais exatas.
…
Perguntas frequentes
Preciso instalar algo antes de usar?
Sim, você precisa gerar um 'cache' (um arquivo de informações) executando um script específico antes de usar a ferramenta pela primeira vez.
O que são APIs?
APIs (Interfaces de Programação de Aplicativos) são como comandos ou ferramentas que os programadores usam para fazer o sistema operacional (como o Windows) realizar tarefas específicas, como acessar a câmera ou mostrar notificações.
O que acontece se a ferramenta não encontrar a API?
Se a ferramenta não encontrar uma correspondência boa nos dados locais, ela sugere que você procure na documentação oficial online da Microsoft.
Detalhes
Descrição original do autor
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).
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5421
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC