Estendendo seu Coding Agent com .NET Skills

As .NET Skills são um conjunto de agent skills que o time do .NET publicou para ajudar coding agents a executar tarefas comuns da plataforma com mais confiabilidade. Neste artigo, vamos entender o problema que elas resolvem, como funcionam e como instalar esses pacotes no GitHub Copilot, no VS Code e em outros agentes.

O anúncio saiu no blog oficial do .NET em março de 2026, assinado por Tim Heuer, Principal Product Manager da Microsoft. Desde então, o repositório dotnet/skills virou referência para quem usa IA no dia a dia com C#.

O problema de contexto nos coding agents

Coding agents se tornaram parte do fluxo de trabalho cotidiano de desenvolvimento. No entanto, a qualidade das respostas depende diretamente da qualidade do contexto que o modelo recebe.

Esse contexto pode vir de várias fontes ao mesmo tempo. Entre elas estão o ambiente de desenvolvimento, o código no workspace, o conhecimento de treinamento do modelo, a memória de sessões anteriores, as instruções do agente e o prompt inicial do desenvolvedor.

Quando alguma dessas fontes falha, o agente tenta, erra e tenta de novo. Por isso, muitas sessões gastam tempo e tokens em becos sem saída que um especialista evitaria logo de cara.

O time do .NET adotou coding agents no próprio fluxo de trabalho e percebeu esse padrão de perto. Com isso, identificou formas práticas de aumentar a produtividade fornecendo contexto de qualidade, e as .NET Skills nasceram dessa experiência.

O que é um agent skill

Um agent skill é um pacote leve que contém conhecimento especializado, que o agente pode descobrir e usar durante a resolução de uma tarefa. Em outras palavras, é uma forma de entregar ao agente o "como fazer" de um procedimento específico.

Uma skill agrupa intenção, contexto específico da tarefa e artefatos de apoio. Assim, o agente toma decisões melhores com menos tentativa e erro.

As .NET Skills seguem a especificação Agent Skills, que define um modelo comum para criar e compartilhar essas capacidades. A Anthropic desenvolveu o formato originalmente e depois o publicou como padrão aberto.

Hoje, ferramentas como GitHub Copilot CLI, Visual Studio, VS Code, Claude Code e diversos outros agentes suportam essa especificação. Portanto, a mesma skill funciona em produtos diferentes sem reescrita.

Estrutura de uma skill

No formato da especificação, uma skill é uma pasta com um arquivo SKILL.md obrigatório. Esse arquivo traz metadados, no mínimo name e description, e as instruções que o agente deve seguir.

---
name: run-dotnet-tests
description: Runs and analyzes .NET tests when the user asks to test a project.
---

# Run .NET tests

1. Run `dotnet test` in the solution folder.
2. Summarize failed tests with file and line.

O exemplo acima é apenas ilustrativo, para mostrar o formato. Além do SKILL.md, a pasta pode conter subpastas opcionais como scripts/, references/ e assets/, com código executável, documentação e modelos.

Como o agente carrega as .NET Skills

A especificação usa um mecanismo de divulgação progressiva em três etapas. Primeiro, na descoberta, o agente carrega apenas o nome e a descrição de cada skill disponível.

Em seguida, na ativação, ele lê as instruções completas do SKILL.md somente quando a tarefa combina com a descrição. Por fim, na execução, o agente segue as instruções e, se necessário, roda scripts ou abre arquivos de referência.

Dessa forma, você pode instalar muitas .NET Skills sem lotar a janela de contexto do modelo. Afinal, o conteúdo completo só entra em cena quando a tarefa realmente pede.

O repositório dotnet/skills

O time da Microsoft publicou o repositório dotnet/skills, que hospeda as .NET Skills criadas pela equipe que constrói a própria plataforma. O código está sob licença MIT.

As skills disponíveis refletem os mesmos workflows que os times da Microsoft já usam internamente. Além disso, incorporam cenários de engenharia observados junto à comunidade de desenvolvedores.

O objetivo declarado é prático: publicar skills que ajudem agentes a completar tarefas comuns do .NET com mais confiabilidade, melhor contexto e menos becos sem saída.

Plugins disponíveis nas .NET Skills

O repositório organiza as skills em plugins por área funcional. No momento da pesquisa para este artigo, a lista incluía os seguintes plugins:

  • dotnet, com skills gerais de desenvolvimento e integração com o language server do C#;
  • dotnet-advanced, voltado para cenários específicos do .NET;
  • dotnet-data, com tarefas de acesso a dados e Entity Framework;
  • dotnet-diag, para investigação de desempenho, depuração e análise de incidentes;
  • dotnet-msbuild, com diagnóstico de falhas, otimização e modernização de builds;
  • dotnet-nuget, para gerenciamento de pacotes e dependências;
  • dotnet-upgrade, para migrar projetos entre versões do framework;
  • dotnet-maui, com configuração de ambiente e diagnóstico no .NET MAUI;
  • dotnet-ai, com escolha de tecnologia, integração com LLMs, workflows agênticos e RAG;
  • dotnet-template-engine, para descoberta e criação de templates;
  • dotnet-test e dotnet-test-migration, para rodar, gerar e migrar testes;
  • dotnet-aspnetcore, com skills de desenvolvimento web;
  • dotnet11, com novas APIs e recursos de linguagem do .NET 11.

Como o repositório evolui continuamente, essa lista tende a crescer. Portanto, consulte o README do projeto para ver a versão atual antes de instalar.

Um exemplo de skill desse repositório é a csharp-scripts, que ensina agentes a trabalhar com scripts C# usando dotnet run app.cs. Nós detalhamos esse caso no artigo a skill do time .NET para agentes de IA.

Avaliação e métricas de qualidade das .NET Skills

O time do .NET reconhece que mais contexto nem sempre resulta em respostas melhores. Às vezes, instruções em excesso confundem o modelo ou repetem algo que ele já sabe fazer.

Além disso, os modelos de IA evoluem rápido, e o que era necessário há três meses pode não ser mais com modelos recentes. Por isso, cada skill publicada no repositório passa por um validador leve que mede se ela realmente melhorou o resultado esperado.

A avaliação compara o comportamento do agente com e sem a skill presente, usando um modelo específico a cada execução. Em seguida, atribui uma pontuação de melhoria em relação a essa linha de base.

Segundo o próprio anúncio, essa abordagem funciona como um teste unitário para a skill, e não como um teste de integração. Ou seja, ela verifica se aquela skill específica melhora o comportamento pretendido.

As avaliações de cada uma das .NET Skills ficam no próprio repositório, abertas para inspeção e execução pela comunidade. Se você quer se aprofundar nesse tipo de medição, veja também o artigo sobre evals para agentes de IA.

Como instalar as .NET Skills

O repositório dotnet/skills segue o modelo de plugin marketplace adotado por ferramentas como o GitHub Copilot. Na prática, o próprio repositório funciona como marketplace, e você instala os plugins de que precisa.

Instalação no GitHub Copilot CLI

Para adicionar o marketplace e instalar um plugin pelo Copilot CLI, use os comandos abaixo:

/plugin marketplace add dotnet/skills
/plugin marketplace browse dotnet-agent-skills
/plugin install <plugin>@dotnet-agent-skills

O primeiro comando registra o repositório como marketplace. Em seguida, o segundo lista os plugins disponíveis, e o terceiro instala o plugin escolhido.

Após a instalação, as skills ficam disponíveis automaticamente no ambiente do agente. Também é possível invocá-las de forma explícita, informando o plugin e o nome da skill:

/dotnet-diag:analyzing-dotnet-performance

Nesse exemplo, o agente aciona a skill de análise de desempenho do plugin dotnet-diag. Para conhecer melhor a ferramenta, leia o artigo GitHub Copilot CLI: agentes, MCP e automação no terminal.

Instalação no VS Code e no Visual Studio

No VS Code, você adiciona o marketplace nas configurações da extensão do Copilot (Insiders), informando https://github.com/dotnet/skills como endereço. Depois disso, navega e instala os plugins pelo explorador de extensões.

Com o plugin instalado, as .NET Skills podem rodar diretamente no Copilot Chat por meio de slash commands. Assim, você continua no editor enquanto o agente trabalha.

Já no Visual Studio 2026, o anúncio recomenda a extensão ".github + MCP", criada por Mads Kristensen, para habilitar o suporte a skills e agentes. Para entender o suporte nativo que chegou depois, veja o artigo agent skills no Visual Studio.

Outros agentes compatíveis com as .NET Skills

O README do repositório também traz instruções para Claude Code, Cursor e Codex CLI. No Claude Code, por exemplo, o fluxo também passa por adicionar o marketplace e instalar com /plugin install.

Isso mostra a força de seguir uma especificação aberta, já que o mesmo conteúdo serve para times que usam agentes diferentes.

Se você usa o Claude Code, o guia completo do Claude Code ajuda a configurar o ambiente.

Princípios de design das .NET Skills

O time adotou a simplicidade como ponto de partida. A experiência prática mostrou que um grande conjunto de novas ferramentas pode não ser necessário quando as skills têm um escopo bem delimitado.

Onde há necessidade de capacidades adicionais, o time planeja usar MCP, scripts ou ferramentas de SDK que já existem para complementar os workflows. Dessa forma, as .NET Skills não reinventam o que a plataforma já oferece.

O objetivo é que as skills sejam comprovadas, práticas e orientadas a tarefas específicas. Em vez de um manual genérico sobre .NET, cada skill resolve um problema concreto, como diagnosticar um build ou migrar um projeto de teste.

Skills da comunidade

O time também reconhece a existência de skills da comunidade, como as do repositório github/awesome-copilot. Elas entregam valor para padrões arquiteturais e bibliotecas do ecossistema .NET.

A proposta do dotnet/skills é complementar esse ecossistema, e não competir com ele. Por isso, o foco fica nas ferramentas, conceitos e frameworks que a equipe central do .NET entrega.

Se você ainda tem dúvida sobre quando criar uma skill e quando criar um agente, o artigo agents ou skills: qual escolher compara as duas abordagens.

Boas práticas ao usar as .NET Skills

Instale apenas os plugins que fazem sentido para o seu projeto. Embora a divulgação progressiva reduza o custo de contexto, descrições demais ainda podem levar o agente a escolher a skill errada.

Também vale revisar o conteúdo de cada skill antes de usá-la em um repositório importante. Afinal, uma skill pode conter scripts que o agente executa na sua máquina.

Por fim, acompanhe as atualizações do repositório. Como os modelos evoluem, o time pode ajustar ou remover skills que deixaram de trazer ganho nas avaliações.

Quando criar suas próprias skills

As .NET Skills cobrem tarefas da plataforma, mas não conhecem as regras internas do seu time. Por isso, faz sentido escrever skills próprias para padrões de arquitetura, convenções de nomes ou procedimentos de deploy da sua empresa.

Nesse caso, capriche na description do SKILL.md. Afinal, é ela que o agente lê na etapa de descoberta para decidir se a skill combina com a tarefa.

Além disso, mantenha cada skill focada em um único procedimento. Uma skill que tenta ensinar tudo ao mesmo tempo perde precisão e ocupa mais contexto do que deveria.

Também vale seguir a mesma ideia de avaliação que o time do .NET adotou. Ou seja, compare o resultado do agente com e sem a sua skill antes de compartilhá-la com o restante da equipe.

Próximos passos do repositório

O repositório vai evoluir de forma contínua e aberta, junto com a comunidade de desenvolvedores. Além disso, novas skills devem chegar com frequência.

O time convida a comunidade a explorar o dotnet/skills e testar as skills nos próprios workflows.

Essa colaboração é importante, porque os cenários reais dos desenvolvedores mostram onde os agentes ainda tropeçam. Assim, as próximas skills tendem a cobrir exatamente os problemas que mais aparecem no dia a dia.

Por isso, o time também pede que você envie feedback com sugestões de melhoria ou novas ideias.

Conclusão

As .NET Skills atacam o principal gargalo dos coding agents, que é a falta de contexto de qualidade. Ao empacotar o conhecimento do próprio time do .NET em skills avaliadas, o repositório reduz tentativas frustradas e torna o agente mais confiável.

Portanto, se você já usa GitHub Copilot, Claude Code ou outro agente compatível, vale instalar ao menos os plugins ligados à sua rotina. Comece pelo dotnet e pelo dotnet-test, observe os resultados e expanda conforme a necessidade.

FAQ

O que são as .NET Skills?

São agent skills publicadas pelo time do .NET no repositório dotnet/skills, que ajudam coding agents a executar tarefas comuns da plataforma com mais confiabilidade.

Quais agentes suportam essas skills?

Qualquer agente que siga a especificação Agent Skills, como GitHub Copilot CLI, VS Code, Visual Studio, Claude Code, Cursor e Codex CLI.

Como instalo um plugin pelo Copilot CLI?

Adicione o marketplace com /plugin marketplace add dotnet/skills e depois instale com /plugin install <plugin>@dotnet-agent-skills.

Como o time do .NET garante que uma skill ajuda?

Um validador compara o comportamento do agente com e sem a skill e atribui uma pontuação de melhoria, como um teste unitário da skill.

As skills substituem o MCP?

Não, porque elas se complementam. Quando uma skill precisa de capacidades extras, o time planeja usar MCP, scripts ou ferramentas de SDK existentes.

Glossário

Termo Significado
Coding agent Assistente de IA que lê código, executa comandos e altera arquivos de forma autônoma
Agent skill Pacote com instruções e artefatos que ensina o agente a executar uma tarefa
SKILL.md Arquivo obrigatório de uma skill, com metadados e instruções
Divulgação progressiva Carregamento das instruções completas apenas quando a tarefa pede
Plugin Agrupamento de skills por área funcional dentro do marketplace
Marketplace Repositório que lista plugins disponíveis para instalação no agente
Eval Avaliação que mede se uma skill melhora o comportamento do agente
MCP Model Context Protocol, protocolo que conecta agentes a ferramentas externas

Fontes