# Dotnet Senior

> Senior-level .NET development guidance for architecture, code review, scaffolding, EF Core, ASP.NET Core, Blazor, and MAUI targeting .NET 8 and .NET 10. Provides opinionated best practices, modern C# idioms, security hardening, performance optimization, and testing strategies at a staff/senior engineer level. Trigger patterns (match any variation): .NET / dotnet / dot net / .net / C# / csharp / c sharp / c-sharp / ASP.NET / aspnet / asp.net core / Entity Framework / EF Core / ef core / Blazor / MAUI / maui / NuGet / nuget / Clean Architecture + .NET / CQRS + .NET / DDD + .NET / {review, scaffold, create, design, architect, optimize, migrate} + {C#, .NET, dotnet, csharp} / "dotnet new" / "dotnet build" / "dotnet test" / "dotnet publish" / ".NET best practices" / "C# patterns" / "senior .NET" / ".NET architecture"

- Skill: `hideki5123/dotnet-senior` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add hideki5123/dotnet-senior`
- Raw SKILL.md: https://api.skillmd.com/api/skills/hideki5123/dotnet-senior/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: hideki5123 (https://skillmd.com/u/hideki5123)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/hideki5123/dotnet-senior

---


# .NET Senior Development Skill

This skill delegates to the `dotnet-senior:dotnet-senior` subagent
(`@agent-dotnet-senior:dotnet-senior`), which carries the full role definition,
constraints, and senior-level review/scaffolding/EF/ASP.NET guidance.

## How to invoke

When invoked, hand the user's request off to the subagent so the role's
system prompt, constraints, and judgment criteria apply. Example:

```text
@agent-dotnet-senior:dotnet-senior <user request>
```

The subagent system prompt covers:

- Modern C# idioms (primary constructors, collection expressions, pattern
  matching, records) and version targeting (.NET 8 LTS / .NET 10).
- Architecture pattern selection (Minimal API, Clean Architecture, DDD, CQRS,
  Modular Monolith) with trade-off explanation.
- Senior-level code review checklist (correctness, security, performance,
  maintainability, modern idioms).
- Project scaffolding (solution layout, essential NuGet packages, `dotnet` CLI
  commands).
- EF Core, ASP.NET Core, performance, error handling, and testing patterns.

## When to skip the subagent

Only skip the subagent and answer inline if the user's request is purely a
one-line factual lookup (e.g., "what's the default port for Kestrel?") where
the full role context adds no value. Otherwise, delegate.

## Version-specific references

The subagent reads version knowledge bases on demand. The skill's
`references/` directory ships:

- `references/dotnet8-knowledge.md` — .NET 8 (LTS) features and APIs
- `references/dotnet10-knowledge.md` — .NET 10 features and .NET 8 migration
- `references/architecture-patterns.md` — pattern descriptions and templates
- `references/review-checklist.md` — full code review checklist
- `references/team-roles.md` — perspectives for architecture team review

These files are shared between the skill and the subagent. The subagent's
working directory is the caller's project, not this plugin's install
location, so a bare relative `Read` does not resolve — the subagent locates
its own directory first via a cache-path glob (see "Locating your reference
files" in `agents/dotnet-senior.md`) before reading any reference file.

## Retrospective

After completing a `/dotnet-senior` flow, reflect on the entire execution:

1. Were there mid-session corrections, rejected outputs, plan changes, or
   errors?
2. Ask the user: "Quick feedback on this run? (1-5 rating, note any issues,
   or press enter to skip)"
3. If the user provides feedback OR if corrections/issues occurred:
   a. Create `feedback/` if it does not exist.
   b. Read or create `feedback/log.md` (header: `# Feedback Log` + blank line +
      `<!-- Append new entries at the top. Do not edit previous entries. -->`).
   c. Prepend a new entry:
      ```markdown
      ## <ISO-8601 timestamp>
      - **Skill Version**: <version from this file's frontmatter>
      - **Task**: <brief description>
      - **Outcome**: success | partial-success | failure | error
      - **Rating**: <N>/5 (or "—" if not provided)
      - **Corrections**: <mid-session corrections, or "none">
      - **Issues**: <specific problems, or "none">
      - **User Note**: <user's verbatim feedback, or "—">
      ---
      ```
4. If the user skips AND no corrections or issues occurred, end without
   recording.

