Agent Skillsitsfatduck/optimizerDuck › dotnet-best-practices

dotnet-best-practices

GitHub

确保.NET/C#代码符合项目最佳实践,涵盖文档、架构模式、依赖注入、异步处理、测试标准及AI集成等规范。

.agents/skills/dotnet-best-practices/SKILL.md itsfatduck/optimizerDuck

Trigger Scenarios

审查或重构.NET/C#代码时 需要遵循特定架构和编码规范的项目开发中

Install

npx skills add itsfatduck/optimizerDuck --skill dotnet-best-practices -g -y
More Options

Non-standard path

npx skills add https://github.com/itsfatduck/optimizerDuck/tree/master/.agents/skills/dotnet-best-practices -g -y

Use without installing

npx skills use itsfatduck/optimizerDuck@dotnet-best-practices

指定 Agent (Claude Code)

npx skills add itsfatduck/optimizerDuck --skill dotnet-best-practices -a claude-code -g -y

安装 repo 全部 skill

npx skills add itsfatduck/optimizerDuck --all -g -y

预览 repo 内 skill

npx skills add itsfatduck/optimizerDuck --list

SKILL.md

Frontmatter
{
    "name": "dotnet-best-practices",
    "description": "Ensure .NET\/C# code meets best practices for the solution\/project."
}

.NET/C# Best Practices

Your task is to ensure .NET/C# code in ${selection} meets the best practices specific to this solution/project. This includes:

Documentation & Structure

  • Create comprehensive XML documentation comments for all public classes, interfaces, methods, and properties
  • Include parameter descriptions and return value descriptions in XML comments
  • Follow the established namespace structure: {Core|Console|App|Service}.{Feature}

Design Patterns & Architecture

  • Use primary constructor syntax for dependency injection (e.g., public class MyClass(IDependency dependency))
  • Implement the Command Handler pattern with generic base classes (e.g., CommandHandler<TOptions>)
  • Use interface segregation with clear naming conventions (prefix interfaces with 'I')
  • Follow the Factory pattern for complex object creation.

Dependency Injection & Services

  • Use constructor dependency injection with null checks via ArgumentNullException
  • Register services with appropriate lifetimes (Singleton, Scoped, Transient)
  • Use Microsoft.Extensions.DependencyInjection patterns
  • Implement service interfaces for testability

Resource Management & Localization

  • Use ResourceManager for localized messages and error strings
  • Separate LogMessages and ErrorMessages resource files
  • Access resources via _resourceManager.GetString("MessageKey")

Async/Await Patterns

  • Use async/await for all I/O operations and long-running tasks
  • Return Task or Task<T> from async methods
  • Use ConfigureAwait(false) where appropriate
  • Handle async exceptions properly

Testing Standards

  • Use MSTest framework with FluentAssertions for assertions
  • Follow AAA pattern (Arrange, Act, Assert)
  • Use Moq for mocking dependencies
  • Test both success and failure scenarios
  • Include null parameter validation tests

Configuration & Settings

  • Use strongly-typed configuration classes with data annotations
  • Implement validation attributes (Required, NotEmptyOrWhitespace)
  • Use IConfiguration binding for settings
  • Support appsettings.json configuration files

Semantic Kernel & AI Integration

  • Use Microsoft.SemanticKernel for AI operations
  • Implement proper kernel configuration and service registration
  • Handle AI model settings (ChatCompletion, Embedding, etc.)
  • Use structured output patterns for reliable AI responses

Error Handling & Logging

  • Use structured logging with Microsoft.Extensions.Logging
  • Include scoped logging with meaningful context
  • Throw specific exceptions with descriptive messages
  • Use try-catch blocks for expected failure scenarios

Performance & Security

  • Use C# 12+ features and .NET 8 optimizations where applicable
  • Implement proper input validation and sanitization
  • Use parameterized queries for database operations
  • Follow secure coding practices for AI/ML operations

Code Quality

  • Ensure SOLID principles compliance
  • Avoid code duplication through base classes and utilities
  • Use meaningful names that reflect domain concepts
  • Keep methods focused and cohesive
  • Implement proper disposal patterns for resources

Version History

  • b472afe Current 2026-07-06 00:02

Same Skill Collection

.agents/skills/brainstorming/SKILL.md
.agents/skills/csharp-docs/SKILL.md
.agents/skills/csharp-xunit/SKILL.md
.agents/skills/microsoft-docs/SKILL.md
.agents/skills/powershell-windows/SKILL.md
.agents/skills/using-superpowers/SKILL.md
.agents/skills/windows-app-developer/SKILL.md
.agents/skills/csharp-async/SKILL.md
.agents/skills/resx-translation/SKILL.md

Metadata

Files
0
Version
ef56395
Hash
3181f44d
Indexed
2026-07-06 00:02

trang chủ - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-05 05:51
浙ICP备14020137号-1 $bản đồ khách truy cập$