skills/ozerohax/assistagents/coder-csharp-conventions

coder-csharp-conventions

SKILL.md

<skill_overview> Ensure C# code follows Microsoft official guidelines and modern patterns Writing new C# code Reviewing naming conventions Using modern C# features Refactoring legacy C# code Microsoft C# Coding Conventions Microsoft Identifier Naming Framework Design Guidelines (Cwalina & Abrams) </skill_overview> <naming_conventions> <applies_to>Types, namespaces, public members, methods, properties, events, constants, enum values</applies_to> public class UserService { } public void ProcessOrder() { } public string FirstName { get; set; } public const int MaxRetryCount = 3; public enum OrderStatus { Pending, Completed }

public required string Email { get; init; }

}

<options_pattern> // appsettings.json { "Email": { "SmtpHost": "smtp.example.com", "SmtpPort": 587, "FromAddress": "noreply@example.com" } } // Configuration class public class EmailSettings { public required string SmtpHost { get; init; } public required int SmtpPort { get; init; } public required string FromAddress { get; init; } } // Registration builder.Services.Configure<EmailSettings>( builder.Configuration.GetSection("Email")); // Usage with primary constructor public class EmailService(IOptions<EmailSettings> options) { private readonly EmailSettings _settings = options.Value;

public void Send(string to, string subject, string body)
{
    // Use _settings.SmtpHost, etc.
}

} </options_pattern> </dependency_injection> <performance_tips> Use StringBuilder for multiple string concatenations var sb = new StringBuilder(); foreach (var item in items) { sb.AppendLine(item.Name); } return sb.ToString();

Weekly Installs
2
GitHub Stars
29
First Seen
Feb 4, 2026
Installed on
openclaw2
qwen-code2
gemini-cli2
cursor2
opencode2
continue1