C# Conventions

Regole interne C# 12 / .NET 8: pattern Result, igiene query EF, disciplina async

di alexander-danilenko · alexander-danilenko/cortex-ai-skills

Promosso ★ 8.0/10

C# Conventions — Regole interne C# 12 / .NET 8: pattern Result, igiene query EF, disciplina async

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 conventions
  • Rewrite this EF Core query to use AsNoTracking and AsSplitQuery
  • Add CancellationToken and the Result pattern to this async method