Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when building .NET 8 applications with minimal APIs, clean architecture, or cloud-native microservices. Invoke for Entity Framework Core, CQRS with MediatR, JWT authentication, AOT compilation.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 43% | 0% |
| case-12 | ✓→✓ | = Same ✓ | -4% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 55% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 60% | 0% |
dotnet build to verify compilation — if build fails, review errors, fix issues, and rebuild before proceedingdotnet test to confirm all tests pass — if tests fail, diagnose failures, fix the implementation, and re-run before continuing; verify endpoints with curl or a REST clientLoad detailed guidance based on context:
| Topic | Reference | Load When | |-------|-----------|-----------| | Minimal APIs | references/minimal-apis.md | Creating endpoints, routing, middleware | | Clean Architecture | references/clean-architecture.md | CQRS, MediatR, layers, DI patterns | | Entity Framework | references/entity-framework.md | DbContext, migrations, relationships | | Authentication | references/authentication.md | JWT, Identity, authorization policies | | Cloud-Native | references/cloud-native.md | Docker, health checks, configuration |
<Nullable>enable</Nullable> in the .csprojawait dbContext.Users.ToListAsync()public record UserDto(int Id, string Name);WebApplicationFactory<Program>csharp// Program.cs var builder = WebApplication.CreateBuilder(args); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); builder.Services.AddMediatR(cfg => cfg.RegisterServicesFromAssembly(typeof(Program).Assembly)); var app = builder.Build(); app.UseSwagger(); app.UseSwaggerUI(); app.MapGet("/users/{id}", async (int id, ISender sender, CancellationToken ct) => { var result = await sender.Send(new GetUserQuery(id), ct); return result is null ? Results.NotFound() : Results.Ok(result); }) .WithName("GetUser") .Produces<UserDto>() .ProducesProblem(404); app.Run();
csharp// Application/Users/GetUserQuery.cs public record GetUserQuery(int Id) : IRequest<UserDto?>; public sealed class GetUserQueryHandler : IRequestHandler<GetUserQuery, UserDto?> { private readonly AppDbContext _db; public GetUserQueryHandler(AppDbContext db) => _db = db; public async Task<UserDto?> Handle(GetUserQuery request, CancellationToken ct) => await _db.Users .AsNoTracking() .Where(u => u.Id == request.Id) .Select(u => new UserDto(u.Id, u.Name)) .FirstOrDefaultAsync(ct); }
csharp// Infrastructure/AppDbContext.cs public sealed class AppDbContext(DbContextOptions<AppDbContext> options) : DbContext(options) { public DbSet<User> Users => Set<User>(); protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.ApplyConfigurationsFromAssembly(typeof(AppDbContext).Assembly); } } // Usage in a service public async Task<IReadOnlyList<UserDto>> GetAllAsync(CancellationToken ct) => await _db.Users .AsNoTracking() .Select(u => new UserDto(u.Id, u.Name)) .ToListAsync(ct);
csharppublic record UserDto(int Id, string Name); public record CreateUserRequest(string Name, string Email);
When implementing .NET features, provide:
Other measured skills in the registry, with their headline benchmark lift.