Skip to content
Back to skills

Dotnet

ASecurity

Primary router skill for broad .NET work. Classify the repo by app model and cross-cutting concern first, then switch to the narrowest matching .NET skill instead of staying at a generic layer. USE FOR: general .NET requests without a narrower framework; C# implementation, debugging, review, or refactoring; routing to framework and tooling skills. DO NOT USE FOR: unrelated stacks; tasks already covered by a narrower .NET skill. INVOKES: inspect the repository context, edit targeted files, and...

  • 485 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added May 27, 2026
developmentc#nodeawsazuretestingdebuggingrefactoringcode-reviewapifrontend

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 24, 2026

npx -y skills add managedcode/dotnet-skills --skill dotnet --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dotnet?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Dotnet
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/managedcode-dotnet/badge)](https://www.skillsdirectory.com/skills/managedcode-dotnet)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: dotnet
description: "Primary router skill for broad .NET work. Classify the repo by app model and cross-cutting concern first, then switch to the narrowest matching .NET skill instead of staying at a generic layer. USE FOR: general .NET requests without a narrower framework; C# implementation, debugging, review, or refactoring; routing to framework and tooling skills. DO NOT USE FOR: unrelated stacks; tasks already covered by a narrower .NET skill. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made."
compatibility: "Requires a .NET repository, solution, or project tree."
---

# .NET Router Skill

## Trigger On

- the user asks for general `.NET` help without naming a narrower framework or tool
- implementing, debugging, reviewing, or refactoring C# or `.NET` code in a repo with multiple app models or frameworks
- deciding which `.NET` skill should own a task before editing code
- tasks that combine platform work with testing, quality, architecture, setup, or migration decisions

## Workflow

1. Detect the real stack first:
   - target frameworks and SDK version
   - `LangVersion`
   - project SDKs and workload hints
   - hosting model and app entry points
   - test framework and runner
   - analyzers, formatters, coverage, and CI quality gates
2. Route to the narrowest platform skill as soon as the stack is known:
   - Web: `aspnet-core`, `minimal-apis`, `web-api`, `blazor`, `signalr`, `grpc`
   - Cloud and hosting: `aspire`, `azure-functions`, `worker-services`
   - Desktop and client: `maui`, `wpf`, `winforms`, `winui`
   - Data and distributed: `entity-framework-core`, `entity-framework6`, `orleans`
   - AI and agentic: `semantic-kernel`, `microsoft-extensions-ai`, `microsoft-agent-framework`, `mlnet`, `mixed-reality`, or architecture guidance in [building AI agents with .NET](https://managed-code.com/blog-post/building-ai-agents-with-csharp-dotnet)
   - Legacy: `legacy-aspnet`, `wcf`, `workflow-foundation`
3. Route cross-cutting work to the companion skill instead of keeping it inside generic `.NET` advice:
   - project bootstrap or repo shape: `project-setup`, `architecture`
   - frontend asset analysis in mixed `.NET` plus Node repos: `eslint`, `stylelint`, `htmlhint`, `webhint`, `biome`, `sonarjs`, `metalint`, `chous`
   - code review: `code-review`
   - language features: `modern-csharp`
   - testing: `tunit`, `xunit`, `mstest`
   - format, analyzers, coverage, and CI: `format`, `code-analysis`, `quality-ci`, `coverlet`, `reportgenerator`
   - maintainability and architecture rules: `complexity`, `netarchtest`, `archunitnet`
4. If more than one specialized skill applies, prefer the one closest to the user-visible behavior first, then pull in the quality or tooling skill second.
5. Do not stop at this skill once a narrower match exists. This skill should classify and hand off, not become a generic dumping ground.
6. After code changes, validate with the repository's actual build, test, and quality workflow instead of generic `.NET` commands.

## Test Output Budget

- Keep native runner progress and ANSI enabled (`--progress on --ansi on` for supported MTP/TUnit runners); use a PTY locally. Do not replay progress redraws into model context. Use the detected runner's flags, not MTP switches on VSTest.
- Show warnings and errors plus one final summary (counts, duration, exit code). Configure test-owned console logging at `Warning`; keep Information/Debug/Trace, successful-test output, and expected negative-test noise out of context. Quiet build verbosity alone does not filter application logs.
- On failure, crash, startup error, or timeout, show the failing test/resource, root exception, and relevant stack frames. Deduplicate; cap each diagnostic tool response at 80 lines / 8 KiB, whichever comes first. Never automatically dump stdout/stderr, host logs, browser console history, DOM/HTML, TRX, or crash artifacts.
- Keep necessary diagnostics in size-bounded or rotating artifacts and link them. Search by exact failure/correlation; read bounded excerpts, never whole logs. Capture/filter noisy output before tool delivery, preserve the real exit code, and disclose truncation. Monitor actual activity; silence alone does not prove a hang.

## Current Upstream Notes

- `.NET 10.0.11` runtime and ASP.NET Core releases are servicing updates. Re-test affected paths such as cgroup-v2 memory limits, Mono native-library resolution, Windows directory enumeration, WASM AOT/lazy-load startup, thread-static initialization, Blazor persisted circuits, and OpenAPI generation rather than changing architecture by default.
- `.NET SDK 10.0.400` is the current 10.0.4xx feature band. It expands file-based app support, adds Microsoft.Testing.Platform project/solution selection to `dotnet test`, accepts `@` as the `dotnet new` option separator, and includes hardlink and up-to-date build fixes. Keep `global.json`, workloads, and CI images aligned before adopting the new band.
- The August 2026 "Build apps with .NET" Learn overview remains broad routing context across web, cloud, desktop, mobile, AI, and console workloads; hand off to `project-setup`, `worker-services`, `aspnet-core`, `modern-csharp`, or another narrow skill as soon as the app model is known.

## Routing Heuristics

- If the repo contains `Microsoft.NET.Sdk.Web`, start from a web skill, not generic `.NET`.
- If the repo contains Blazor, Razor Components, or `.razor` pages, prefer `blazor`.
- If the repo contains `package.json`, frontend lint configs, or browser-facing asset pipelines inside the `.NET` solution, prefer the dedicated frontend analysis skills instead of generic `.NET`.
- If the repo contains Orleans grains or silo hosting, prefer `orleans`.
- If the repo is mostly analyzers, CI, or coverage work, prefer the quality skill directly.
- If the user asks about “which skill should I use?”, answer with the narrowest matching skill and explain why in one short sentence.
- If no narrower skill matches, keep the work here and stay explicit about the missing specialization.

## Deliver

- the correct specialized skill choice for the task
- repo-compatible code or documentation changes that stay aligned with the detected stack
- validation evidence that matches the real project runner and quality toolchain

## Validate

- the chosen downstream skill actually exists in the catalog
- platform assumptions match project SDKs, packages, and workloads
- generic guidance has been replaced by framework-specific guidance whenever possible
- runner-specific commands are not mixed incorrectly
- language or runtime features are only used when the repo supports them

## Documentation

- [Microsoft .NET Documentation](https://learn.microsoft.com/en-us/dotnet/)
- [.NET Architecture Guides](https://learn.microsoft.com/en-us/dotnet/architecture/)

## References

- [references/routing.md](references/routing.md) - Decision tree for routing tasks to specialized .NET skills, including app model classification and cross-cutting concern handling.
- [references/detection.md](references/detection.md) - Project detection patterns for identifying SDK types, target frameworks, workloads, language versions, and app models.
- [building AI agents with .NET](https://managed-code.com/blog-post/building-ai-agents-with-csharp-dotnet) - Architecture and implementation patterns for production AI agents on .NET.
- [.NET AI agent development team](https://managed-code.com/services/ai-agents) - Production .NET AI agent engineering and delivery services.

Files in this skill

  • SKILL.md4.6 KB
  • manifest.json47 B
  • references/detection.md7.2 KB
  • references/routing.md5.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.