csharp-developer
/csharp-developer
Buduje aplikacje w C# na .NET 8+: API REST w ASP.NET Core, dostęp do danych w Entity Framework Core, wzorce async, CQRS z MediatR i komponenty Blazor ze stanem.
- Autor
- Jeffallan ↗
- Repozytorium
- claude-skills ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 25.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 6
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 5
Brak sygnałów. Repozytorium zmienione 25.10.2026, bez odwołań do wycofanych modeli i API.
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Buduje aplikacje w C# na .NET 8+: API REST w ASP.NET Core, dostęp do danych w Entity Framework Core, wzorce async, CQRS z MediatR i komponenty Blazor ze stanem.
Oryginalny opis (EN)
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.
Jak działa
- When to Use This Skill
- Core Workflow
- Reference Guide
- Constraints
- Output Templates
- Example: Minimal API Endpoint
- Knowledge Reference
Podgląd SKILL.md
---
name: csharp-developer
description: "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."
license: MIT
metadata:
author: https://github.com/Jeffallan
company: https://synergetic.solutions
version: "1.1.0"
domain: language
triggers: C#, .NET, ASP.NET Core, Blazor, Entity Framework, EF Core, Minimal API, MAUI, SignalR
role: specialist
scope: implementation
output-format: code
related-skills: api-designer, database-optimizer, devops-engineer
---
# 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
### 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`:
```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());
```
- Use dependency injection for all services
- Include XML documentation for public APIs
- Implement proper error handling with Result pattern:
```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);
}
```
- Use strongly-typed configuration with `IOptions<T>`
### MUST NOT DO
- Use blocking calls (`.Result`, `.Wait()`) in async code:
```csharp
// 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
```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();
```
## 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
Maintained by [@jeffallan](https://github.com/jeffallan), Principal Consultant at [Synergetic Solutions](https://synergetic.solutions)
[Documentation](https://jeffallan.github.io/claude-skills/skills/language/csharp-developer/)
Pliki w paczce (6)
- SKILL.md 5 KB
- references/aspnet-core.md 10 KB
- references/blazor.md 13 KB
- references/entity-framework.md 11 KB
- references/modern-csharp.md 6 KB
- references/performance.md 12 KB
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · Jeffallan/claude-skills | 100 | MIT |
| agentic-swe/agentic-swe | 100 | MIT |
Migawka bazy z 28.10.2026 · wersja paczki 9777f01b1cf9 (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 95dotnet-expert
Wspiera budowę aplikacji .NET 8 i 9: ASP.NET Core API, Entity Framework Core, MediatR CQRS, modularny monolit, FluentValidation, wzorzec Result i uwierzytelnianie JWT. - 100dotnet-core-expert
Wspiera budowę aplikacji .NET 8 z minimal API, czystą architekturą i mikroserwisami cloud-native, w tym Entity Framework Core, CQRS z MediatR, uwierzytelnianie JWT i kompilacja AOT. - 100aspnet-core
Wspiera tworzenie backendowych API i usług chmurowych w ASP.NET Core: Minimal APIs, routing kontrolerów, Entity Framework Core, middleware i wstrzykiwanie zależności. - 100csharp-dotnet
Pomaga pisać, recenzować, testować i wydawać kod C# i .NET: API ASP.NET Core (minimal API lub kontrolery), dostęp do danych EF Core, poprawność async i układ solucji. - 90dotnet-backend-patterns
Dostarcza wzorce .NET i ASP.NET Core dla REST API, Entity Framework, wstrzykiwania zależności i middleware, przy pracy z plikami C# i projektami csproj. - 100dotnet-web-apps
Pomaga wybrać i wdrożyć wzorce aplikacji webowych .NET: MVC, Razor Pages, Minimal APIs i Blazor, wraz z architekturą, strukturą projektu i routingiem w ASP.NET Core.