From dotnet-artisan
Routes .NET/C# requests to the correct domain skill (API, UI, testing, devops, tooling, debugging) and loads coding standards as baseline.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dotnet-artisan:dotnet-advisorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Router and index skill for **dotnet-artisan**. Always loaded after [skill:using-dotnet] confirms .NET intent. Routes .NET development queries to the appropriate consolidated skill based on context.
Router and index skill for dotnet-artisan. Always loaded after [skill:using-dotnet] confirms .NET intent. Routes .NET development queries to the appropriate consolidated skill based on context.
Before any .NET guidance, determine the project's target framework:
Load [skill:dotnet-tooling] version detection guidance to read TFMs from
.csproj,Directory.Build.props, andglobal.json. Adapt all guidance to the detected .NET version (net8.0, net9.0, net10.0, net11.0).
For any task that may produce, change, or review C#/.NET code:
In a .NET repository, default to .NET solutions for ambiguous requests:
dotnet run, support top-level statements, and can be published as native AOT binaries. See [skill:dotnet-api] references/file-based-apps.md.Only suggest non-.NET alternatives when there's a specific reason (e.g., the user explicitly asks for Python, or the task requires a JS-only ecosystem like npm packages).
Identify the primary domain from the request, then invoke the matching skill. If the request spans multiple domains, invoke them in the order shown.
| If the request involves... | Invoke |
|---|---|
| Web APIs, EF Core, gRPC, SignalR, middleware, security hardening | [skill:dotnet-api] |
| Blazor, MAUI, Uno Platform, WPF, WinUI, WinForms | [skill:dotnet-ui] |
| Unit tests, integration tests, E2E, Playwright, benchmarks | [skill:dotnet-testing] |
| CI/CD, GitHub Actions, Azure DevOps, containers, NuGet publishing | [skill:dotnet-devops] |
| Project setup, MSBuild, Native AOT, CLI apps, SDK versions | [skill:dotnet-tooling] |
| Crash dumps, WinDbg, hang analysis, memory diagnostics (Windows) | [skill:dotnet-debugging] |
| Crash dumps, dotnet-dump, lldb, container diagnostics (Linux/macOS) | [skill:dotnet-debugging] |
| Missing .NET SDK, install dotnet, workloads | [skill:dotnet-tooling] (references/dotnet-sdk-install.md) |
| Quick script, utility, single-file tool | [skill:dotnet-api] (references/file-based-apps.md) |
| Excel, Word, PowerPoint, PDF, spreadsheet, document generation | [skill:dotnet-api] (references/office-documents.md) |
| New project (unclear domain) | [skill:dotnet-tooling], then route to the owning domain skill |
Many tasks naturally span multiple domains. After invoking the primary domain skill, also load supporting skills when these patterns appear:
| When the task involves... | Also load |
|---|---|
| Performance optimization or profiling | [skill:dotnet-tooling] (profiling, performance-patterns references) |
| Testing a specific framework (minimal API, Blazor, EF Core) | The framework's domain skill ([skill:dotnet-api] or [skill:dotnet-ui]) for context |
| Authentication or security hardening in a UI app | [skill:dotnet-api] (security, auth middleware references) |
| Multi-targeting or platform-specific project setup | [skill:dotnet-tooling] (project structure, TFM configuration) |
| Building a new app (any "build me" request) | [skill:dotnet-tooling] (project setup) + [skill:dotnet-testing] (test strategy) |
| CI/CD that runs tests | [skill:dotnet-testing] (test framework configuration) |
For broad "build me an app" requests, load comprehensively: [skill:dotnet-csharp] -> [skill:dotnet-tooling] -> primary domain -> [skill:dotnet-testing] -> [skill:dotnet-devops].
| Skill | Summary | Differentiator |
|---|---|---|
| [skill:using-dotnet] | Process gateway for .NET routing discipline | Must execute immediately before this skill |
| [skill:dotnet-csharp] | C# language patterns, coding standards, async/await, DI, LINQ, domain modeling | Language-level guidance, always loaded as baseline |
| [skill:dotnet-api] | ASP.NET Core, EF Core, gRPC, SignalR, resilience, security, Aspire | Backend services and data access |
| [skill:dotnet-ui] | Blazor, MAUI, Uno Platform, WPF, WinUI, WinForms, accessibility | All UI frameworks and cross-platform targets |
| [skill:dotnet-testing] | xUnit v3, integration/E2E, Playwright, snapshots, benchmarks | Test strategy, frameworks, and quality gates |
| [skill:dotnet-devops] | GitHub Actions, Azure DevOps, containers, NuGet, observability | CI/CD pipelines, packaging, and operations |
| [skill:dotnet-tooling] | Project setup, MSBuild, Native AOT, profiling, CLI apps, version detection | Build system, performance, and developer tools |
| [skill:dotnet-debugging] | WinDbg MCP, crash dumps, hang analysis, memory diagnostics | Live and post-mortem dump analysis |
| dotnet-advisor | This skill -- routes to domain skills above | Entry point, loaded after [skill:using-dotnet] |
For complex analysis that benefits from domain expertise, delegate to specialist agents. Group by concern area:
Architecture and Design
Performance and Concurrency
UI Frameworks
Infrastructure
npx claudepluginhub p/novotnyllc-dotnet-artisan-plugins-dotnet-artisanDetects .NET intent from prompts and repo signals (.sln, .csproj, global.json), loads version-specific standards, and routes to domain-specific .NET skills via dotnet-advisor.
Working with .NET, C#, ASP.NET Core, or related frameworks. Routes to specialist skills.
Routes .NET tasks to specialist agents by classifying domain (C#, ASP.NET Core, EF Core, NuGet, .NET Aspire). Dispatch single or parallel team up to 4.