csharp-modern
Installation
SKILL.md
Modern C#
.NET 8+, nullable enabled, async-first, records for data.
Async Patterns
Always use async/await for I/O. Always pass CancellationToken:
public async Task<User?> GetUserAsync(
int id,
CancellationToken cancellationToken = default)
{
using var connection = await _factory
.CreateConnectionAsync(cancellationToken)
.ConfigureAwait(false);
Related skills