Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
novotnyllc avatar

Dotnet Csharp

  • 325 installs
  • 228 repo stars
  • Updated August 3, 2026
  • novotnyllc/dotnet-artisan

dotnet-csharp is a Claude Code skill that implements C# and .NET APIs, services, and libraries with idiomatic patterns, dependency injection, async/await, records, and framework conventions for developers who need produc

About

dotnet-csharp is a skill from the novotnyllc/dotnet-artisan pack that steers AI agents toward idiomatic C# and .NET implementation. It covers API endpoints, service layers, library design, dependency injection registration, async/await usage, records, and framework-specific conventions so generated code matches real .NET project structure. Developers reach for dotnet-csharp when scaffolding ASP.NET Core APIs, refactoring services to modern C# patterns, or extending a .NET solution where consistency with Microsoft ecosystem norms matters more than generic language output.

  • Idiomatic C# and modern language features
  • Dependency injection and hosting
  • Minimal APIs and ASP.NET Core patterns
  • Async and cancellation best practices
  • Project structure and package conventions

Dotnet Csharp by the numbers

  • 325 all-time installs (skills.sh)
  • +14 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #61 of 153 .NET & C# skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/novotnyllc/dotnet-artisan --skill dotnet-csharp

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs325
repo stars228
Last updatedAugust 3, 2026
Repositorynovotnyllc/dotnet-artisan

How do you write idiomatic C# APIs with DI and async?

Implement C# and .NET APIs, services, and libraries with idiomatic patterns, DI, async/await, records, and framework conventions from the dotnet-artisan skill pack.

Who is it for?

Developers building or extending ASP.NET Core APIs, microservices, or .NET libraries who want agent output that follows Microsoft ecosystem patterns instead of generic C# snippets.

Skip if: Developers working in non-.NET stacks, frontend-only Blazor UI tasks, or teams that only need one-off scripts without service architecture.

When should I use this skill?

User asks to implement, refactor, or review C# APIs, .NET services, dependency injection, async patterns, records, or backend library code.

What you get

ASP.NET Core API endpoints, service classes, library modules, and DI registration code following .NET conventions

  • API endpoint code
  • Service classes
  • Library modules with DI setup

Files

SKILL.mdMarkdownGitHub ↗

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) -> [skill:dotnet-api]
  • UI framework patterns -> [skill:dotnet-ui]
  • Testing patterns -> [skill:dotnet-testing]
  • Build/MSBuild/project setup -> [skill:dotnet-tooling]
  • Performance profiling tools -> [skill:dotnet-tooling]

Related skills

How it compares

Choose dotnet-csharp over general backend skills when the target stack is specifically C# and .NET and idiomatic framework patterns matter.

FAQ

What does the dotnet-csharp skill generate?

dotnet-csharp generates C# and .NET code for APIs, services, and libraries using idiomatic patterns from the dotnet-artisan pack, including dependency injection, async/await, records, and framework conventions aligned with ASP.NET Core projects.

When should developers use dotnet-csharp?

Developers should use dotnet-csharp when building or extending ASP.NET Core APIs, microservices, or .NET class libraries and need agent output that follows Microsoft ecosystem conventions rather than generic C# examples.

.NET & C#backend

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.