/ Annuaire / Playground / .NET Skills
● Communauté Aaronontheweb ⚡ Instantané

.NET Skills

par Aaronontheweb · Aaronontheweb/dotnet-skills

Du .NET 8/9 idiomatique dans Claude — skills pour les tests xUnit, les perfs BenchmarkDotNet, le packaging NuGet, la correction async/await et le style C#.

Les .NET Skills d'Aaron Stannard sont un bundle éprouvé pour les développeurs .NET sérieux. Au-delà de la simple génération de code, ils couvrent les parties que le modèle se trompe habituellement : l'annulation async, l'usage de ConfigureAwait, IDisposable, les compromis struct vs class, les patterns BenchmarkDotNet, les métadonnées de packaging NuGet, et le style moderne xUnit + FluentAssertions.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

prêt

Installation

Dépôt de l’auteur · Documentation officielle des Skills Claude

Cas d'usage

Usages concrets : .NET Skills

Auditer un service pour la correction async/await

👤 Équipes .NET backend ⏱ ~45 min advanced

Quand l'utiliser : Vous avez hérité d'un service avec des deadlocks intermittents et suspectez des problèmes async.

Déroulement
  1. Scanner
    Audit async dotnet-skills sur src/. Signalez : ConfigureAwait(false) manquant dans les bibliothèques, .Result/.Wait, async void (non-événement), propagation de CancellationToken manquante.✓ Copié
    → Liste concrète fichier:ligne avec sévérité
  2. Corriger un cluster
    Choisissez le cluster de sévérité la plus élevée (risque de deadlock). Proposez des patches, fichier par fichier. Montrez les diffs.✓ Copié
    → Patches chirurgicaux, pas des réécritures de fichiers entiers

Résultat : Hygiène async améliorée ; une source de deadlocks intermittents éliminée.

Pièges
  • Le correctif ConfigureAwait casse le code UI thread — Le skill différencie lib vs app ; respectez cette frontière
Combiner avec : filesystem

Benchmarker un hot path avec BenchmarkDotNet

👤 Développeurs .NET curieux des performances ⏱ ~60 min advanced

Quand l'utiliser : Le profiler pointe vers une méthode ; vous avez besoin de chiffres rigoureux.

Déroulement
  1. Créer le benchmark
    Skill : crée un projet BenchmarkDotNet pour OrderCalc.Compute. Plusieurs tailles d'entrées. Memory diagnoser activé. Markdown exporter.✓ Copié
    → Projet benchmark compile ; s'exécute en Release
  2. Lancer + interpréter
    Lance le bench. Rapport mean, allocated, gen0. Quelle est la principale allocation ?✓ Copié
    → Attribution concrète à l'allocateur (probablement concaténation de chaînes ou LINQ)
  3. Patcher + re-bencher
    Remplace LINQ par une boucle manuelle. Relance. Montre avant/après.✓ Copié
    → Les allocations baissent de manière mesurable

Résultat : Amélioration de performance quantifiée, pas des impressions.

Pièges
  • Lancer en builds Debug — BenchmarkDotNet refuse Debug ; assurez-vous d'être en Release

Préparer une bibliothèque pour la release NuGet

👤 Auteurs OSS ⏱ ~30 min intermediate

Quand l'utiliser : Première release NuGet de votre lib ; vous voulez qu'elle soit soignée.

Déroulement
  1. Auditer le packaging
    dotnet-skills : audit MyLib.csproj pour la préparation NuGet. Vérifiez Description, Authors, License, RepositoryUrl, source-link, multi-targeting.✓ Copié
    → Liste concrète de champs manquants
  2. Revue de surface API
    Génère la surface API publique ; signalez tout type interne qui fuite ou tout public étrangement nommé.✓ Copié
    → Dump de surface API avec problèmes soulevés

Résultat : Package propre prêt à pousser.

Pièges
  • Incompatibilité de licence (fichier LICENSE vs <PackageLicenseExpression>) — Le skill le détecte ; alignez-les

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

dotnet-skills-aaronontheweb + filesystem

Appliquer les patches dans le projet

Applique les patches async_audit dans src/. Un commit par fichier.✓ Copié
dotnet-skills-aaronontheweb + github

PR des résultats de bench

Ouvre une PR avec le patch perf + benchmark avant/après dans la description.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
async_audit path Bilan de santé de la base de code 0
scaffold_benchmark target_method Travail de performance 0
interpret_bench bench_md Après l'exécution du benchmark 0
nuget_audit csproj Pré-release 0
api_surface assembly_or_proj Revue API 0
test_conventions_check test_path Revue de PR 0

Coût et limites

Coût d'exécution

Quota d'API
N/A
Tokens par appel
Les audits scannent le code = utilisation plus importante de tokens ; 5k–30k par passe
Monétaire
Gratuit
Astuce
Auditez un projet à la fois ; ne déployez pas en éventail sur un monorepo entier

Sécurité

Permissions, secrets, portée

Portées minimales : filesystem-read filesystem-write
Stockage des identifiants : Aucun
Sortie de données : Aucun

Dépannage

Erreurs courantes et correctifs

Audit trop bruyant

Spécifiez le seuil de sévérité ; le skill retourne tout par défaut

Benchmark ne s'exécute pas

Doit être en build Release ; BenchmarkDotNet refuse Debug

Vérifier : dotnet build -c Release
La surface API inclut des types internes

Assurez-vous que InternalsVisibleTo est configuré correctement ; le skill rapporte tel que configuré

Alternatives

.NET Skills vs autres

AlternativeQuand l'utiliserCompromis
Analyzers Roslyn dans le dépôtVous voulez une application au moment de la CIPlus de configuration ; moins interactif
ReSharper / RiderVous voulez des corrections au moment de l'IDEPayant ; non piloté par LLM
Skills Aspire / .NET Cloud NativeFocus cloud-nativePortée différente

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills