/ Diretório / Playground / .NET Skills
● Comunidade Aaronontheweb ⚡ Instantâneo

.NET Skills

por Aaronontheweb · Aaronontheweb/dotnet-skills

.NET 8/9 idiomático no Claude — skills para testes xUnit, performance BenchmarkDotNet, empacotamento NuGet, correção de async/await e estilo C#.

As .NET Skills de Aaron Stannard são um pacote battle-tested para desenvolvedores .NET sérios. Além de geração simples de código, cobrem as partes que o modelo habitualmente erra: cancelamento assíncrono, uso de ConfigureAwait, IDisposable, trade-offs entre struct e class, padrões BenchmarkDotNet, metadados de empacotamento NuGet e estilo moderno xUnit + FluentAssertions.

Por que usar

Principais recursos

Demo ao vivo

Como fica na prática

pronto

Instalação

Repositório do autor · Documentação oficial de Skills do Claude

Casos de uso

Usos do mundo real: .NET Skills

Audite um serviço para correção de async/await

👤 Times backend .NET ⏱ ~45 min advanced

Quando usar: Você herdou um serviço com deadlocks intermitentes e suspeita de problemas com async.

Fluxo
  1. Escaneie
    dotnet-skills async audit em src/. Sinalize: ConfigureAwait(false) faltando em bibliotecas, .Result/.Wait, async void (não-event), propagação de CancellationToken faltando.✓ Copiado
    → Lista concreta de file:line com severidade
  2. Corrija um cluster
    Escolha o cluster de maior severidade (risco de deadlock). Proponha patches, arquivo por arquivo. Mostre diffs.✓ Copiado
    → Patches cirúrgicos, não reescritas de arquivo inteiro

Resultado: Higiene async melhorada; uma fonte de deadlocks intermitentes eliminada.

Armadilhas
  • Correção ConfigureAwait quebra código de thread UI — A skill diferencia código de lib vs app; respeite essa fronteira
Combine com: filesystem

Faça benchmark de um hot path com BenchmarkDotNet

👤 Devs .NET curiosos sobre performance ⏱ ~60 min advanced

Quando usar: O profiler aponta para um método; você precisa de números rigorosos.

Fluxo
  1. Crie o benchmark
    Skill: crie um projeto BenchmarkDotNet para OrderCalc.Compute. Múltiplos tamanhos de input. Memory diagnoser habilitado. Markdown exporter.✓ Copiado
    → Projeto de benchmark compila; executa em Release
  2. Execute + interprete
    Execute o benchmark. Reporte mean, allocated, gen0. Qual é a principal alocação?✓ Copiado
    → Atribuição concreta ao alocador (provavelmente concatenação de string ou LINQ)
  3. Patch + re-benchmark
    Substitua LINQ por um loop manual. Execute novamente. Mostre antes/depois.✓ Copiado
    → Alocações caem de forma mensurável

Resultado: Melhoria de performance quantificada, não impressão subjetiva.

Armadilhas
  • Executando builds Debug — BenchmarkDotNet recusa Debug; garanta Release

Prepare uma biblioteca para release no NuGet

👤 Autores OSS ⏱ ~30 min intermediate

Quando usar: Primeiro release NuGet da sua lib; você quer que esteja polida.

Fluxo
  1. Audite o empacotamento
    dotnet-skills: audite MyLib.csproj para prontidão NuGet. Verifique Description, Authors, License, RepositoryUrl, source-link, multi-targeting.✓ Copiado
    → Lista concreta de campos faltando
  2. Revisão de superfície de API
    Gere a superfície de API pública; sinalize tipos internos vazados ou públicos com nomes estranhos.✓ Copiado
    → Dump de superfície de API com preocupações apontadas

Resultado: Pacote limpo pronto para publicar.

Armadilhas
  • Mismatch de licença (arquivo LICENSE vs <PackageLicenseExpression>) — A skill detecta isso; alinhe-os

Combinações

Combine com outros MCPs para 10× de alavancagem

dotnet-skills-aaronontheweb + filesystem

Aplique patches em todo o projeto

Aplique os patches do async_audit em src/. Um commit por arquivo.✓ Copiado
dotnet-skills-aaronontheweb + github

Abra PR com resultados de benchmark

Abra um PR com o patch de performance + benchmark antes/depois na descrição.✓ Copiado

Ferramentas

O que este MCP expõe

FerramentaEntradasQuando chamarCusto
async_audit path Verificação de saúde da codebase 0
scaffold_benchmark target_method Trabalho de performance 0
interpret_bench bench_md Após executar o benchmark 0
nuget_audit csproj Pré-release 0
api_surface assembly_or_proj Revisão de API 0
test_conventions_check test_path Revisão de PR 0

Custo e limites

O que custa rodar

Cota de API
N/A
Tokens por chamada
Auditorias escaneiam código = uso maior de tokens; 5k–30k por passagem
Monetário
Gratuito
Dica
Audite um projeto por vez; não espalhe por um monorepo de uma vez

Segurança

Permissões, segredos, alcance

Escopos mínimos: filesystem-read filesystem-write
Armazenamento de credenciais: Nenhum
Saída de dados: Nenhuma

Solução de problemas

Erros comuns e correções

Audit too noisy

Especifique o threshold de severidade; a skill tem padrão para todos

Benchmark won't run

Deve ser build Release; BenchmarkDotNet recusa Debug

Verificar: dotnet build -c Release
API surface includes internal types

Certifique-se de que InternalsVisibleTo está configurado corretamente; a skill reporta como configurado

Alternativas

.NET Skills vs. outros

AlternativaQuando usarTroca
Roslyn analyzers in repoVocê quer imposição em tempo de CIMais configuração; menos interativo
ReSharper / RiderVocê quer correções em tempo de IDEPago; não controlado por LLM
Aspire / .NET Cloud Native skillsFoco em cloud-nativeEscopo diferente

Mais

Recursos

📖 Leia o README oficial no GitHub

🐙 Ver issues abertas

🔍 Ver todos os 400+ servidores MCP e Skills