C# Conventions
Règles maison C# 12 / .NET 8 : Pattern Result, hygiène des requêtes EF, discipline asynchrone
Testé · Fonctionne
Ce que fait
Un ensemble compact de conventions C# 12 / .NET 8+ opiniâtres couvrant les nullable-as-errors, les records et les constructeurs primaires, le pattern Result pour les échecs attendus, CancellationToken sur chaque méthode async, IOptions et IHttpClientFactory, et les règles EF Core comme AsNoTracking, AsSplitQuery, ExecuteUpdateAsync et les filtres de requête de suppression douce globaux. Il se charge chaque fois que vous écrivez ou révisez du C# dans une base de code ASP.NET Core, EF Core ou Blazor. Notez que malgré le README du dépôt, les directives CQRS/MediatR se trouvent dans la compétence sœur dotnet-core, pas ici.
Rapport de test
Je l'ai exécuté contre un contrôleur ASP.NET Core délibérément cassé et comparé à une revue sans compétence du même fichier. La compétence a produit sept corrections concrètes que la revue simple n'a pas faites, y compris le seul véritable bug latent : PurgeInactive définit IsDeleted mais sans filtres de requête dessus, et la convention globale HasQueryFilter de la compétence détecte que les utilisateurs supprimés en douceur continuent de revenir de GET /users/{id}. Elle a également nommé des API exactes que la revue générique n'a fait qu'évoquer — AsSplitQuery pour les deux Includes de collection, ExecuteUpdateAsync pour le basculement de drapeau en masse, IOptions avec ValidateOnStart pour la clé API de type chaîne. Son point aveugle est la sécurité : le corps ne dit rien sur l'injection SQL interpolée FromSqlRaw ou le mot de passe sa codé en dur, que la revue sans compétence a tous deux détectés. 573 mots, pas de scripts et pas de fichiers groupés à pourrir, et l'affirmation 'CQRS with MediatR' du README du dépôt pour cette compétence est en fait du contenu de la compétence sœur dotnet-core.
Testé le: 2026-08-07 · Claude Code 2.x (agent harness)
Installation
git clone https://github.com/alexander-danilenko/cortex-ai-skills.git mkdir -p ~/.claude/skills cd cortex-ai-skills && cp -r skills/csharp ~/.claude/skills/csharp
Commandes et exemples de prompts
/csharpRègles maison C# 12 / .NET 8 : Pattern Result, hygiène des requêtes EF, discipline asynchrone
Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :
Review this ASP.NET Core controller for our C# 12 conventionsRewrite this EF Core query to use AsNoTracking and AsSplitQueryAdd CancellationToken and the Result pattern to this async method