C# Conventions
Regole interne C# 12 / .NET 8: pattern Result, igiene query EF, disciplina async
Promosso
Cosa fa
Un set compatto di convenzioni opinabili per C# 12 / .NET 8+ che coprono nullable-as-errors, records e costruttori primari, il pattern Result per fallimenti attesi, CancellationToken su ogni metodo async, IOptions e IHttpClientFactory, e regole di EF Core come AsNoTracking, AsSplitQuery, ExecuteUpdateAsync e filtri di query globali per soft-delete. Si carica ogni volta che scrivi o revisioni C# in una codebase ASP.NET Core, EF Core o Blazor. Nota che, nonostante il README del repo, la guida CQRS/MediatR si trova nella skill gemella dotnet-core, non qui.
Rapporto di test
L'ho eseguito contro un controller ASP.NET Core deliberatamente rotto e confrontato con una revisione senza skill dello stesso file. La skill ha prodotto sette correzioni concrete che la revisione semplice non ha fatto, incluso l'unico vero bug latente: PurgeInactive imposta IsDeleted ma senza filtri di query su di esso, e la convenzione globale HasQueryFilter della skill rileva che gli utenti soft-deleted continuano a tornare da GET /users/{id}. Ha anche nominato API esatte che la revisione generica ha solo accennato — AsSplitQuery per i due Includes di collezione, ExecuteUpdateAsync per il bulk flag flip, IOptions con ValidateOnStart per la chiave API stringly-typed. Il suo punto cieco è la sicurezza: il corpo non dice nulla sull'SQL injection interpolato FromSqlRaw o sulla password sa hardcoded, entrambi rilevati dalla revisione senza skill. 573 parole, nessun script e nessun file incluso da far marcire, e l'affermazione 'CQRS with MediatR' nel README del repo per questa skill è in realtà contenuto della skill gemella dotnet-core.
Testato il: 2026-08-07 · Claude Code 2.x (agent harness)
Installazione
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
Comandi e prompt di esempio
/csharpRegole interne C# 12 / .NET 8: pattern Result, igiene query EF, disciplina async
Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):
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