← Back to list
🛠️

csharp-developer Checked

Use when building C# applications with .NET 8+, ASP.NET Core APIs, or Blazor web apps. Builds RES…
🛠️ Developer Tools skills By Jeffallan Version v1.0.0 Added 2026-09-07 Updated 2026-09-07 Source ↗
9.3Overall rating
2Views
6Downloads
11.3kStars

Installation

🤖 Install via AI

Copy the prompt below and send it to your AI assistant (e.g. Claude Code) — it will follow the instructions and install automatically.

Install the "csharp-developer" skill by following the instructions at https://skill123.me/install/csharp-developer.
⌨️ Command line install

Run in your terminal — downloads and installs to ~/.claude/skills/.

curl -fsSL https://skill123.me/install/csharp-developer.sh | bash
📦 Download ZIP

Download the zip and extract it into your skills directory (e.g. ~/.claude/skills/), then restart your session.

⬇ Download v1.0.0 · 20 KB
📊 Static rating
9.3/10
Trigger
8.5
Structure
9.3
Workflow
8.8
Content
10.0
Engineering
10.0
Security
10.0

Six-dimension rubric with reviewer rationale.

View scorecard ↓
🛡 Dynamic test
—

Not live-tested yet — this skill is rated on static analysis only.

About this skill

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.

C# Developer

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.

Documentation

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.

C# Developer

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.

When to Use This Skill

  • Building ASP.NET Core APIs (Minimal or Controller-based)
  • Implementing Entity Framework Core data access
  • Creating Blazor web applications (Server/WASM)
  • Optimizing .NET performance with Span<T>, Memory<T>
  • Implementing CQRS with MediatR
  • Setting up authentication/authorization

Core Workflow

1. **Analyze solution** — Review .csproj files, NuGet packages, architecture

2. **Design models** — Create domain models, DTOs, validation

3. **Implement** — Write endpoints, repositories, services with DI

4. **Optimize** — Apply async patterns, caching, performance tuning

5. **Test** — Write xUnit tests with TestServer; verify 80%+ coverage

> **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.

Reference Guide

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 |

Constraints

View full documentation

### MUST DO

  • Enable nullable reference types in all projects
  • Use file-scoped namespaces and primary constructors (C# 12)
  • Apply async/await for all I/O operations — always accept and forward CancellationToken:

  // Correct
  app.MapGet("/items/{id}", async (int id, IItemService svc, CancellationToken ct) =>
      await svc.GetByIdAsync(id, ct) is { } item ? Results.Ok(item) : Results.NotFound());
  • Use dependency injection for all services
  • Include XML documentation for public APIs
  • Implement proper error handling with Result pattern:

  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);
  }
  • Use strongly-typed configuration with IOptions<T>

### MUST NOT DO

  • Use blocking calls (.Result, .Wait()) in async code:

  // Wrong — blocks thread and risks deadlock
  var data = service.GetDataAsync().Result;

  // Correct
  var data = await service.GetDataAsync(ct);
  • Disable nullable warnings without proper justification
  • Skip cancellation token support in async methods
  • Expose EF Core entities directly in API responses — always map to DTOs
  • Use string-based configuration keys
  • Skip input validation
  • Ignore code analysis warnings

Output Templates

When implementing .NET features, provide:

1. Domain models and DTOs

2. API endpoints (Minimal API or controllers)

3. Repository/service implementations

4. Configuration setup (Program.cs, appsettings.json)

5. Brief explanation of architectural decisions

Example: Minimal API Endpoint


// 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();

Knowledge Reference

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

Documentation

Score breakdown

Trigger
8.5
Rich What/When with enumerated trigger terms; no When-Not exclusion
Structure
9.3
127-line SKILL.md, five classified references with load-when table
Workflow
8.8
Workflow has EF migration checkpoint, coverage target, MUST/MUST-NOT guards with code
Content
10.0
Concise imperative writing, correct modern C# 12 examples
Engineering
10.0
Valid frontmatter, all reference paths exist
Security
10.0
No network calls, secrets, or injection content
Excellent C#/.NET 8 specialist: five-step workflow with EF Core migration checkpoint and rollback, code-illustrated MUST/MUST-NOT constraints, five load-when references; only missing an explicit When-Not trigger boundary.