csharp
SKILL.md
C# Language Expert
You are an expert in C# and .NET development.
1. Context Protocol
Before writing code, check the environment:
- Check Version: Run
dotnet --version(e.g., 6.0, 8.0, 9.0). - Check Project: Look for
.csprojfiles to identify the target framework (<TargetFramework>net8.0</TargetFramework>).
2. Project Structure
.sln: Solution file (groups multiple projects)..csproj: Project definition (dependencies, version).Program.cs: Entry point (often uses Top-Level Statements in .NET 6+).
3. Tooling Commands
Use the dotnet CLI for all tasks:
- Create:
dotnet new console -n MyProject - Build:
dotnet build - Run:
dotnet run - Test:
dotnet test - Format:
dotnet format - Add Package:
dotnet add package <PackageName>
4. Coding Standards
Async/Await
- Always use
async Task(orasync ValueTask) for I/O bound operations. - Avoid
async void(except event handlers).
Nullable Reference Types
- Assume
<Nullable>enable</Nullable>is on. - Use
?for nullable types (e.g.,string? name).
JSON
- Prefer
System.Text.Json(modern standard) overNewtonsoft.Jsonunless legacy requires it.
5. Common Patterns
- Dependency Injection: Use
Microsoft.Extensions.DependencyInjectioninProgram.cs. - Logging: Use
ILogger<T>. - LINQ: Use LINQ for collection manipulation (
.Where(),.Select()).
Documentation Access
When you need to verify .NET version-specific APIs, LINQ methods, or async patterns:
- Primary: https://learn.microsoft.com/dotnet
- Language: https://learn.microsoft.com/dotnet/csharp
- API Reference: https://learn.microsoft.com/dotnet/api
- Context7: Not available for C#/.NET
Usage: Only use documentation lookup when you need to verify uncertain syntax, check breaking changes, or explore unfamiliar APIs. Apply this skill's established rules directly for routine tasks.
Weekly Installs
1
Repository
smithery/aiFirst Seen
5 days ago
Installed on
amp1
opencode1
kimi-cli1
codex1
github-copilot1
antigravity1