← ClaudeAtlas

dotnet-vertical-slicelisted

Scaffold vertical slice architecture with CQRS + FreeMediator, including optional Telerik Blazor UI generation. Use when creating feature-based .NET projects with command/query separation and pipeline behaviors. Do NOT use when the project uses layer-based (N-tier) architecture — this skill enforces feature folder structure and will conflict with existing layer conventions.
michaelalber/ai-toolkit · ★ 1 · AI & Automation · score 77
Install: claude install-skill michaelalber/ai-toolkit
# Vertical Slice Architecture with CQRS + FreeMediator > "The whole idea is that the abstraction we use to reason about the system should be the feature, not the layer." > -- Jimmy Bogard ## Core Philosophy This skill scaffolds and maintains vertical slice architecture in .NET projects using FreeMediator for CQRS and pipeline behaviors. Every feature is a self-contained unit. Layers are an implementation detail inside the slice, not a project-level organizing principle. **Non-Negotiable Constraints:** 1. **Feature Isolation** — Each feature lives in its own folder. No feature may reach into another feature's folder for types or logic. 2. **No Shared Base Handlers** — Abstract base handlers and handler inheritance defeat the purpose of vertical slices. Each handler is independent. 3. **Handler-Per-Feature** — Every command, query, or notification gets its own handler class. A single handler must never process multiple unrelated operations. 4. **Cross-Cutting via Pipeline** — Validation, logging, transactions, and caching are pipeline behaviors, not base class methods. 5. **CQRS Separation Is Structural** — Commands mutate state; queries return data. A single handler must never both read and write. ## Domain Principles Table | # | Principle | Description | Priority | |---|-----------|-------------|----------| | 1 | **Feature Isolation** | Feature folder is self-contained. No imports between feature folders. Shared code lives in `Common/` or `Infrastructure/`. | Critical