mcpField
D
dotnet-csharp

dotnet-csharp

github.com/novotnyllcDevelopment234457 installsUpdated 2w ago
Repository

About dotnet-csharp

dotnet-csharp is a skill for producing and reviewing idiomatic C# and .NET code. It organizes guidance across 25 topics and directs agents to baseline and topic-specific reference files, from async patterns to interop and globalization.

Key features

  1. 01Provides C# coding standards and patterns
  2. 02Routes topics to companion reference files
  3. 03Covers async, dependency injection, and configuration
  4. 04Includes quality, type design, and domain modeling guidance
  5. 05Documents .NET and C# version-specific features

Use cases

  1. 01Apply consistent standards when writing C# code
  2. 02Review async code and dependency injection patterns
  3. 03Choose references for serialization, interop, or globalization

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/novotnyllc/dotnet-artisan --skill dotnet-csharp

After installing, type/dotnet-csharpin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

agents/
openai.yaml
references/
api-design.md
async-patterns.md
channels.md
code-smells.md
coding-standards.md
concurrency-patterns.md
configuration.md
dependency-injection.md
domain-modeling.md
dotnet-releases.md
editorconfig.md
file-io.md
globalization.md
input-validation.md
linq-optimization.md
modern-patterns.md
native-interop.md
nullable-reference-types.md
roslyn-analyzers.md
serialization.md
solid-principles.md
source-generators.md
type-design-performance.md
validation-patterns.md
wasm-interop.md

Details

From the project README

dotnet-csharp

Overview

C# language patterns, coding standards, and .NET runtime features for idiomatic, performant code. This consolidated skill spans 25 topic areas. Load the appropriate companion file from references/ based on the routing table below.

Always-Load Baseline

These references define correctness and quality standards that apply to all C# code — load them by default whenever producing or reviewing code, regardless of what the user asked for:

  • references/coding-standards.md — naming conventions, file layout, style rules
  • references/async-patterns.md — async/await correctness, ConfigureAwait, cancellation propagation (nearly all .NET code uses async)
  • references/solid-principles.md — SOLID, DRY, single responsibility, dependency inversion, anti-pattern detection
  • references/code-smells.md — common mistakes the agent should avoid without being told (async void, DI lifetime misuse, swallowed exceptions)
  • references/dotnet-releases.md — .NET 10/11 and C# 14/15 features, version matrix, TFM-specific code generation rules (compensates for training data cutoff)
On-Demand References

Load these when the topic matches (see Routing Table keywords):

Routing Table

TopicKeywordsDescriptionCompanion File
Coding standardsnaming, file layout, style rulesBaseline C# conventions (naming, layout, style rules)references/coding-standards.md
Async/awaitasync, Task, ConfigureAwait, cancellationasync/await, Task patterns, ConfigureAwait, cancellationreferences/async-patterns.md
Dependency injectionDI, services, scopes, keyed, lifetimesMS DI, keyed services, scopes, decoration, lifetimesreferences/dependency-injection.md
ConfigurationOptions pattern, user secrets, feature flagsOptions pattern, user secrets, feature flags, IOptions<T>references/configuration.md
Source generatorsIIncrementalGenerator, GeneratedRegex, LoggerMessageIIncrementalGenerator, GeneratedRegex, LoggerMessage, STJreferences/source-generators.md
Nullable reference typesannotations, migration, agent mistakesAnnotation strategies, migration, agent mistakesreferences/nullable-reference-types.md
SerializationSystem.Text.Json, Protobuf, MessagePack, AOTSystem.Text.Json source generators, Protobuf, MessagePackreferences/serialization.md
ChannelsChannel<T>, bounded/unbounded, backpressureChannel<T>, bounded/unbounded, backpressure, drainreferences/channels.md
LINQ optimizationIQueryable vs IEnumerable, compiled queriesIQueryable vs IEnumerable, compiled queries, allocationsreferences/linq-optimization.md
Domain modelingaggregates, value objects, domain eventsAggregates, value objects, domain events, repositoriesreferences/domain-modeling.md
SOLID principlesSRP, DRY, anti-patterns, compliance checksSOLID and DRY principles, C# anti-patterns, fixesreferences/solid-principles.md
Concurrencylock, SemaphoreSlim, Interlocked, concurrent collectionslock, SemaphoreSlim, Interlocked, concurrent collectionsreferences/concurrency-patterns.md
Roslyn analyzersDiagnosticAnalyzer, CodeFixProvider, multi-versionDiagnosticAnalyzer, CodeFixProvider, CodeRefactoringreferences/roslyn-analyzers.md
EditorconfigIDE/CA severity, AnalysisLevel, globalconfigIDE/CA severity, AnalysisLevel, globalconfig, enforcementreferences/editorconfig.md
File I/OFileStream, RandomAccess, FileSystemWatcher, pathsFileStream, RandomAccess, FileSystemWatcher, MemoryMappedFilereferences/file-io.md
Native interopP/Invoke, LibraryImport, ComWrappers, marshallingP/Invoke, LibraryImport, ComWrappers, marshalling, cross-platformreferences/native-interop.md
Input validation.NET 10 AddValidation, FluentValidation.NET 10 AddValidation, FluentValidation, ProblemDetailsreferences/input-validation.md
Validation patternsDataAnnotations, IValidatableObject, IValidateOptionsDataAnnotations, IValidatableObject, IValidateOptions<T>references/validation-patterns.md
Modern patternsrecords, pattern matching, primary constructorsRecords, pattern matching, primary constructors, C# 12-15references/modern-patterns.md
API designnaming, parameter ordering, return types, extensionsNaming, parameter ordering, return types, error patternsreferences/api-design.md
Type design/perfstruct vs class, sealed, Span/Memory, collectionsstruct vs class, sealed, Span/Memory, collectionsreferences/type-design-performance.md
Code smellsanti-patterns, async misuse, DI mistakes, fixesAnti-patterns, async misuse, DI mistakes, fixesreferences/code-smells.md
.NET releases.NET 10, .NET 11, C# 14, C# 15, TFM, version, union, extension blocks, field keywordVersion matrix, new features, TFM-specific code generationreferences/dotnet-releases.md
GlobalizationCultureInfo, StringComparison, TimeZoneInfo, Rune, encodingCulture-aware coding, string comparison, time zones, character processingreferences/globalization.md
WASM interopJSImport, JSExport, standalone WASM, wasm-experimental, browserJSImport/JSExport, standalone .NET WASM, browser APIs, WASM AOTreferences/wasm-interop.md

Scope

  • C# language features (C# 8-15)
  • .NET runtime patterns (async, DI, config, serialization, channels, LINQ)
  • Code quality (analyzers, editorconfig, code smells, SOLID)
  • Type design and domain modeling
  • File I/O and native interop
  • Globalization (string comparison, CultureInfo, time zones, character processing, encoding)
  • Input validation at the model level (DataAnnotations, IValidatableObject, FluentValidation, Options validation)

Out of scope

  • ASP.NET Core / web API patterns (request-level validation, endpoint filters) -> dotnet-api
  • UI framework patterns -> dotnet-ui
  • Testing patterns -> dotnet-testing
  • Build/MSBuild/project setup -> dotnet-tooling
  • Performance profiling tools -> dotnet-tooling

Comments

Markdown supported