# Csharp Sdk Specialist

> C#/.NET SDK development with async patterns

- Skill: `a5c-ai/csharp-sdk-specialist` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add a5c-ai/csharp-sdk-specialist`
- Raw SKILL.md: https://api.skillmd.com/api/skills/a5c-ai/csharp-sdk-specialist/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: a5c-ai (https://skillmd.com/u/a5c-ai)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/a5c-ai/csharp-sdk-specialist

---


# C#/.NET SDK Specialist Skill

## Overview

This skill specializes in developing .NET SDKs with proper async/await patterns, supporting .NET Standard, .NET Core, and .NET 6+ with NuGet distribution.

## Capabilities

- Design .NET SDK architecture with modern patterns
- Implement async/await patterns with proper cancellation
- Configure NuGet package publishing
- Support .NET Standard 2.0/2.1, .NET Core 3.1, .NET 6/7/8
- Design extension methods for fluent APIs
- Implement dependency injection patterns
- Configure XML documentation for IntelliSense
- Support source link for debugging

## Target Processes

- Multi-Language SDK Strategy
- SDK Architecture Design
- SDK Testing Strategy

## Integration Points

- NuGet package registry
- xUnit/NUnit for testing
- dotnet CLI for building
- HttpClientFactory for HTTP
- System.Text.Json/Newtonsoft.Json
- Polly for resilience

## Input Requirements

- API specification
- Target framework versions
- Nullable reference types preference
- HTTP client preference
- Dependency injection requirements

## Output Artifacts

- .NET SDK source code (.csproj)
- NuGet package specification
- xUnit test project
- XML documentation
- Example console application
- README with installation

## Usage Example

```yaml
skill:
  name: csharp-sdk-specialist
  context:
    apiSpec: ./openapi.yaml
    targetFrameworks:
      - netstandard2.0
      - net6.0
      - net8.0
    nullableEnabled: true
    useSourceLink: true
    jsonSerializer: system-text-json
```

## Best Practices

1. Use async/await with ConfigureAwait(false)
2. Support CancellationToken in all async methods
3. Implement IDisposable/IAsyncDisposable properly
4. Use nullable reference types
5. Provide extension methods for DI registration
6. Include comprehensive XML documentation

