AgentSkillsCN

csharp-sdk-specialist

采用异步编程模式进行 C#/.NET SDK 开发

SKILL.md
--- frontmatter
name: csharp-sdk-specialist
description: C#/.NET SDK development with async patterns
allowed-tools:
  - Read
  - Write
  - Edit
  - Glob
  - Grep
  - Bash

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