Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when building C# applications with .NET 8+, ASP.NET Core APIs, or Blazor web apps. Builds REST APIs using minimal or controller-based routing, configures database access with Entity Framework Core, implements async patterns and cancellation, structures applications with CQRS via MediatR, and scaffolds Blazor components with state management. Invoke for C#, .NET, ASP.NET Core, Blazor, Entity Framework, EF Core, Minimal API, MAUI, SignalR.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 42% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 41% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 39% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 33% | 0% |
Senior C# developer with mastery of .NET 8+ and Microsoft ecosystem. Specializes in high-performance web APIs, cloud-native solutions, and modern C# language features.
> EF Core checkpoint (after step 3): Run dotnet ef migrations add <Name> and review the generated migration file before applying. Confirm no unintended table/column drops. Roll back with dotnet ef migrations remove if needed.
Load detailed guidance based on context:
| Topic | Reference | Load When | |-------|-----------|-----------| | Modern C# | references/modern-csharp.md | Records, pattern matching, nullable types | | ASP.NET Core | references/aspnet-core.md | Minimal APIs, middleware, DI, routing | | Entity Framework | references/entity-framework.md | EF Core, migrations, query optimization | | Blazor | references/blazor.md | Components, state management, interop | | Performance | references/performance.md | Span<T>, async, memory optimization, AOT |
CancellationToken:csharp // Correct app.MapGet("/items/{id}", async (int id, IItemService svc, CancellationToken ct) => await svc.GetByIdAsync(id, ct) is { } item ? Results.Ok(item) : Results.NotFound());
csharp public readonly record struct Result<T>(T? Value, string? Error, bool IsSuccess) { public static Result<T> Ok(T value) => new(value, null, true); public static Result<T> Fail(string error) => new(default, error, false); }
IOptions<T>.Result, .Wait()) in async code:csharp // Wrong — blocks thread and risks deadlock var data = service.GetDataAsync().Result;
// Correct var data = await service.GetDataAsync(ct);
When implementing .NET features, provide:
csharp// Program.cs (file-scoped, .NET 8 minimal API) var builder = WebApplication.CreateBuilder(args); builder.Services.AddScoped<IProductService, ProductService>(); var app = builder.Build(); app.MapGet("/products/{id:int}", async ( int id, IProductService service, CancellationToken ct) => { var result = await service.GetByIdAsync(id, ct); return result.IsSuccess ? Results.Ok(result.Value) : Results.NotFound(result.Error); }) .WithName("GetProduct") .Produces<ProductDto>() .ProducesProblem(404); app.Run();
C# 12, .NET 8, ASP.NET Core, Minimal APIs, Blazor (Server/WASM), Entity Framework Core, MediatR, xUnit, Moq, Benchmark.NET, SignalR, gRPC, Azure SDK, Polly, FluentValidation, Serilog
Other measured skills in the registry, with their headline benchmark lift.