关于 dotnet-csharp
dotnet-csharp 是用于编写和审查惯用 C# 与 .NET 代码的技能。它将指导分为 25 个主题,并引导 Agent 查阅基础及专题参考文件,涵盖异步模式、互操作和全球化等内容。
主要功能
- 01提供 C# 编码规范与模式
- 02按主题路由到配套参考文件
- 03涵盖异步、依赖注入和配置
- 04提供代码质量、类型设计和领域建模指导
- 05记录 .NET 与 C# 的版本特性
适用场景
- 01编写 C# 代码时应用统一规范
- 02审查异步代码和依赖注入模式
- 03为序列化、互操作或全球化选择参考资料
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ novotnyllc/ dotnet-artisan --skill dotnet-csharp安装后在 Claude Code 中输入/dotnet-csharp确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/api-design.mdasync-patterns.mdchannels.mdcode-smells.mdcoding-standards.mdconcurrency-patterns.mdconfiguration.mddependency-injection.mddomain-modeling.mddotnet-releases.mdeditorconfig.mdfile-io.mdglobalization.mdinput-validation.mdlinq-optimization.mdmodern-patterns.mdnative-interop.mdnullable-reference-types.mdroslyn-analyzers.mdserialization.mdsolid-principles.mdsource-generators.mdtype-design-performance.mdvalidation-patterns.mdwasm-interop.md详细介绍
dotnet-csharp
概述
C# 语言模式、编码标准和 .NET 运行时功能,助力编写符合惯例且高性能的代码。此整合技能涵盖 25 个主题领域。请根据下方路由表,从 references/ 加载相应的配套文件。
始终加载的基础内容
这些参考资料定义了适用于所有 C# 代码的正确性和质量标准——无论用户提出什么要求,生成或审查代码时都应默认加载:
references/coding-standards.md— 命名约定、文件布局、风格规则references/async-patterns.md— async/await 的正确使用、ConfigureAwait、取消传播(几乎所有 .NET 代码都会使用异步)references/solid-principles.md— SOLID、DRY、单一职责、依赖反转、反模式检测references/code-smells.md— Agent 应主动避免的常见错误,无需用户提醒(async void、DI 生命周期误用、吞掉异常)references/dotnet-releases.md— .NET 10/11 和 C# 14/15 的功能、版本矩阵、特定 TFM 的代码生成规则(弥补训练数据截止日期造成的信息缺口)
按需加载的参考资料
当主题匹配时加载这些资料(请参阅“路由表”关键词):
路由表
| 主题 | 关键词 | 描述 | 配套文件 |
|---|---|---|---|
| 编码规范 | 命名、文件布局、风格规则 | 基本 C# 约定(命名、布局、风格规则) | references/coding-standards.md |
| Async/await | async、Task、ConfigureAwait、取消 | async/await、Task 模式、ConfigureAwait、取消 | references/async-patterns.md |
| 依赖注入 | DI、服务、作用域、键控、生命周期 | MS DI、键控服务、作用域、装饰、生命周期 | references/dependency-injection.md |
| 配置 | Options 模式、用户机密、功能标志 | Options 模式、用户机密、功能标志、IOptions<T> | references/configuration.md |
| 源生成器 | IIncrementalGenerator、GeneratedRegex、LoggerMessage | IIncrementalGenerator、GeneratedRegex、LoggerMessage、STJ | references/source-generators.md |
| 可空引用类型 | 注释、迁移、Agent 常见错误 | 注释策略、迁移、Agent 常见错误 | references/nullable-reference-types.md |
| 序列化 | System.Text.Json、Protobuf、MessagePack、AOT | System.Text.Json 源生成器、Protobuf、MessagePack | references/serialization.md |
| 通道 | Channel<T>、有界/无界、背压 | Channel<T>、有界/无界、背压、排空 | references/channels.md |
| LINQ 优化 | IQueryable 与 IEnumerable、编译查询 | IQueryable 与 IEnumerable、编译查询、分配 | references/linq-optimization.md |
| 领域建模 | 聚合、值对象、领域事件 | 聚合、值对象、领域事件、存储库 | references/domain-modeling.md |
| SOLID 原则 | SRP、DRY、反模式、合规性检查 | SOLID 和 DRY 原则、C# 反模式、修复方法 | references/solid-principles.md |
| 并发 | lock、SemaphoreSlim、Interlocked、并发集合 | lock、SemaphoreSlim、Interlocked、并发集合 | references/concurrency-patterns.md |
| Roslyn 分析器 | DiagnosticAnalyzer、CodeFixProvider、多版本 | DiagnosticAnalyzer、CodeFixProvider、CodeRefactoring | references/roslyn-analyzers.md |
| Editorconfig | IDE/CA 严重性、AnalysisLevel、globalconfig | IDE/CA 严重性、AnalysisLevel、globalconfig、强制执行 | references/editorconfig.md |
| 文件 I/O | FileStream、RandomAccess、FileSystemWatcher、路径 | FileStream、RandomAccess、FileSystemWatcher、MemoryMappedFile | references/file-io.md |
| 本机互操作 | P/Invoke、LibraryImport、ComWrappers、封送处理 | P/Invoke、LibraryImport、ComWrappers、封送处理、跨平台 | references/native-interop.md |
| 输入验证 | .NET 10 AddValidation、FluentValidation | .NET 10 AddValidation、FluentValidation、ProblemDetails | references/input-validation.md |
| 验证模式 | DataAnnotations、IValidatableObject、IValidateOptions | DataAnnotations、IValidatableObject、IValidateOptions<T> | references/validation-patterns.md |
| 现代模式 | records、模式匹配、主构造函数 | Records、模式匹配、主构造函数、C# 12-15 | references/modern-patterns.md |
| API 设计 | 命名、参数顺序、返回类型、扩展 | 命名、参数顺序、返回类型、错误模式 | references/api-design.md |
| 类型设计/性能 | struct 与 class、sealed、Span/Memory、集合 | struct 与 class、sealed、Span/Memory、集合 | references/type-design-performance.md |
| 代码异味 | 反模式、async 误用、DI 错误、修复方法 | 反模式、async 误用、DI 错误、修复方法 | references/code-smells.md |
| .NET 版本发布 | .NET 10、.NET 11、C# 14、C# 15、TFM、版本、联合、扩展块、field 关键字 | 版本矩阵、新功能、特定 TFM 的代码生成 | references/dotnet-releases.md |
| 全球化 | CultureInfo、StringComparison、TimeZoneInfo、Rune、编码 | 区域性适配编码、字符串比较、时区、字符处理 | references/globalization.md |
| WASM 互操作 | JSImport、JSExport、独立 WASM、wasm-experimental、浏览器 | JSImport/JSExport、独立 .NET WASM、浏览器 API、WASM AOT | references/wasm-interop.md |
范围
- C# 语言特性(C# 8-15)
- .NET 运行时模式(async、DI、配置、序列化、通道、LINQ)
- 代码质量(分析器、editorconfig、代码异味、SOLID)
- 类型设计与领域建模
- 文件 I/O 与原生互操作
- 全球化(字符串比较、CultureInfo、时区、字符处理、编码)
- 模型级输入验证(DataAnnotations、IValidatableObject、FluentValidation、Options 验证)
不在范围内
- ASP.NET Core / Web API 模式(请求级验证、端点筛选器)->
dotnet-api - UI 框架模式 ->
dotnet-ui - 测试模式 ->
dotnet-testing - 构建/MSBuild/项目设置 ->
dotnet-tooling - 性能分析工具 ->
dotnet-tooling
评论
支持 Markdown