
C# Developer
FreeStreamline your C# application development with best practices.
Free · Opens the source repo
What C# Developer does
The C# Developer skill is designed for developers working with .NET 8 and the Microsoft ecosystem. It offers guidance on building high-performance web APIs, cloud-native applications, and modern C# features. This skill is particularly useful for those developing applications using ASP.NET Core, Blazor, and Entity Framework Core. By following the structured workflow provided, developers can ensure that their applications are efficient, maintainable, and adhere to best practices.
The core workflow includes analyzing the solution architecture, designing domain models and data transfer objects (DTOs), implementing API endpoints, optimizing performance, and testing with xUnit. Each step is accompanied by specific instructions and code examples to facilitate the development process. For instance, the skill emphasizes the importance of using asynchronous programming patterns and dependency injection, which are critical for creating responsive applications.
Additionally, the skill includes a reference guide that provides detailed information on various topics such as modern C# features, ASP.NET Core, Entity Framework, Blazor, and performance optimization. This allows developers to load relevant information based on their current context, ensuring that they have access to the best practices and patterns for their specific needs. The skill also enforces a set of constraints to promote code quality, such as enabling nullable reference types and using the Result pattern for error handling.
Overall, the C# Developer skill is an essential tool for developers looking to enhance their C# application development skills while adhering to modern standards and practices.
When to use it
Use this skill when you need to develop ASP.NET Core APIs, Blazor applications, or work with Entity Framework Core in a .NET 8 environment.
When not to use it
This skill may not be suitable for projects that do not utilize the .NET ecosystem or for developers looking for non-C# related guidance.
What you can build with it
Building a REST API
Use this skill to create a robust REST API with ASP.NET Core, following best practices for routing and data access.
Creating a Blazor App
Leverage this skill to scaffold Blazor components and manage state effectively in your web applications.
Implementing EF Core Data Access
Utilize the skill to set up Entity Framework Core for database interactions, ensuring proper migrations and query optimizations.
How to install C# Developer
View source1. Install with the skills CLI
npx skills add jeffallan/claude-skills/csharp-developer --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by jeffallanC# 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
- Analyze solution — Review .csproj files, NuGet packages, architecture
- Design models — Create domain models, DTOs, validation
- Implement — Write endpoints, repositories, services with DI
- Optimize — Apply async patterns, caching, performance tuning
- 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 withdotnet ef migrations removeif 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
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:
- Domain models and DTOs
- API endpoints (Minimal API or controllers)
- Repository/service implementations
- Configuration setup (Program.cs, appsettings.json)
- 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
Frequently asked questions about C# Developer
Similar skills
Node.js Keccak-256
Prevent Ethereum hash bugs in JavaScript and TypeScript.
NestJS Development Patterns
Streamline your NestJS backend development with best practices.
Ktor Server Patterns
Build robust HTTP servers with Kotlin and Ktor.
Spring Boot Security
Best practices for securing Spring Boot applications.
Redis Patterns
Best practices for using Redis in backend applications.
Backend Development Patterns
Best practices for scalable server-side applications.
