Front-endWhat Is .NET Blazor? Real-World Guide, Architecture, and When to Use It
A practical guide to .NET Blazor: how it works with WebAssembly, its architecture, real-world use cases, limitations, and when it makes sense over React or Angular.

Vertical Slice Architecture is gaining traction as a practical alternative to layered and Clean Architecture approaches for building .NET Web APIs. In this article, we explore dotnet-vsa-webapi — an opinionated Claude Code skill that helps AI agents scaffold, generate, and review ASP.NET Core Minimal API projects using a feature-first, vertical-slice structure.
Skills in Claude Code are extensions with instructions and supporting files that give the agent specialized ways of working.
A skill usually consists of a folder containing SKILL.md:
There are several main ways:
~/.claude/skills/<skill-name>/SKILL.md.claude/skills/<skill-name>/SKILL.mdClaude can:
Usually:
name in SKILL.md becomes the slash command;description helps Claude understand when to apply that skill.Against this backdrop, dotnet-vsa-webapi It is interesting because it is not a “small command,” but a full architectural playbook for Claude Code.
You can find the repository here: dotnet-vsa-webapi
Or
dotnet-vsa-webapi is a skill for designing, generating, refactoring, and reviewing ASP.NET Core Minimal API projects based on:
This skill is useful when you need to:
The skill gives the agent a clear workflow:
So this is not just a skill that says “generate an endpoint,” but a way to make the agent operate within a specific architectural model.
The main advantage of dotnet-vsa-webapi It immediately establishes strong production-oriented defaults.
For new projects, the skill steers toward:
.slnxVery often, new projects start with a bad pattern:
The problem is that “later” usually never comes.
dotnet-vsa-webapi removes this trap because it:
UseInMemoryDatabaseThe skill explicitly and strongly advises against using UseInMemoryDatabase for new projects, because that provider:
Instead, it recommends using PostgreSQL via Aspire right away.
At the core of the skill is a simple rule:
Every HTTP request is a separate vertical slice.
And the entire codebase should be organized:
The skill promotes these practices:
The ideal flow, according to the skill, is:
No unnecessary magic and no heavy orchestration code inside the endpoint.
By default, the skill discourages:
The reasoning behind these restrictions is very practical:
For agentic development, dotnet-vsa-webapi It is especially good because it forces the agent to think in terms of use cases, not technical layers.
Instead of an approach like this:
Controllers/Services/Repositories/The skill points toward something more like:
Features/Orders/CreateOrder/Features/Orders/GetOrder/Features/Orders/CancelOrder/Usually, the following are kept together:
This structure gives the agent several advantages:
The skill additionally forces the agent to:
This is especially important in agentic development because it reduces a typical AI problem: when making one change, the tool also starts “improving” everything around it at the same time.
Both Vertical Slice Architecture and Clean Architecture aim to keep .NET codebases maintainable, but they solve the problem differently.
Clean Architecture splits the solution into layers: Domain, Application, Infrastructure, and Presentation. A single feature touches all four projects. Vertical Slice Architecture groups everything by feature — request, validation, handler, and response live in one folder such as Features/Orders/CreateOrder/.
In Clean Architecture, dependencies flow inward toward the domain, enforced by project references. In Vertical Slice Architecture, each slice is self-contained; cross-slice coupling is avoided, and shared code is extracted only when duplication is proven.
Clean Architecture is a good fit when your domain model is complex and reused across many entry points (APIs, message handlers, scheduled jobs). Vertical Slice Architecture shines when most logic is request-specific, the team values locality, and you want to avoid premature abstractions.
dotnet-vsa-webapi leans firmly into the vertical-slice camp and adds opinionated production defaults on top.
Vertical Slice Architecture organizes code by feature (use case) rather than by technical layer. Each HTTP request gets its own self-contained slice that includes the endpoint, request/response DTOs, validation, and handler — all in one folder.
Clean Architecture templates separate code into layers (Domain, Application, Infrastructure, Presentation). dotnet-vsa-webapi groups code by feature instead, keeping each slice independent. It also ships with production defaults like Aspire, Serilog, FluentValidation, and OpenTelemetry out of the box.
You can, but dotnet-vsa-webapi deliberately avoids MediatR. The skill treats it as an unnecessary abstraction for most Web API scenarios — direct handler calls inside a slice are simpler and easier to trace.
Yes. Because each feature is isolated in its own slice, teams can work on different features without merge conflicts. Shared code is introduced only when duplication is proven, which keeps the codebase maintainable as it grows.
Start by picking one endpoint and moving its controller action, service logic, and validation into a single feature folder. Repeat slice by slice. dotnet-vsa-webapi can guide the agent through this migration incrementally.
dotnet-vsa-webapi is not just a skill that says “generate an ASP.NET endpoint,” but a tightly packaged architectural stance for Claude Code.dotnet-vsa-webapi Looks like a very strong option.
Senior Software Engineer & Microsoft MVP with 15+ years building scalable backend systems. Founder of Ukraine's largest .NET community. Writes about clean architecture, design patterns, EF Core, Azure, and engineering career growth.
FollowGet practical .NET tips and architecture insights delivered to your inbox when new articles are published.