Design or review .NET solution architecture across modular monoliths, clean architecture, vertical slices, microservices, DDD, CQRS, and cloud-native boundaries without over-engineering. USE FOR: .NET architecture choices; layer and domain boundary review; service decomposition; clean architecture, vertical slice, DDD, CQRS, and modular monolith decisions. DO NOT USE FOR: unrelated stacks; generic tasks that do not need this specific guidance. INVOKES: inspect the repository context, edit target
SkillScore86Maintained
Automatic
◆Coding pack
Last verified 8/19/2026
What it changes
Passed 19 of 22 test cases with the skill, and 18 of 22 without it.
Without skill82%
With skill86%
Checks it passed that the model alone missed
Validates that data ownership paths are explicit.
Requires team autonomy boundaries to justify microservices.
2 fixed17 passed either way2 still failing1 broke
Pass-rate lift
+5 pp
Tokens
+11%
Agent turns
0%
Response time
-5%
Model gemini-3.6-flashMeasured 8/19/2026v119 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 2 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 2
Prompt
We are starting a new greenfield C# billing application for a small engineering team. The leadership team wants to start directly with 10 separate microservices to be cloud-native. Provide an architectural evaluation outlining whether to adopt microservices or an alternative pattern.
What was checked, without and with the skill
Checked
Without skill
With skill
Recommends starting with a modular monolith by default.
Passed
Passed
Requires team autonomy boundaries to justify microservices.
Missed
Passed
case-07 · gemini-3.6-flash · 8/19/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md33 lines3 files
.NET Architecture
Trigger On
choosing architecture for a new or evolving .NET system
reviewing layer boundaries, domain boundaries, or service decomposition
deciding whether clean architecture, vertical slices, CQRS, or microservices are justified
Workflow
Start from business capability boundaries and change frequency, not from a preferred diagram style.
Use simple modular monolith patterns by default, and move to microservices only when team autonomy, scale, or deployment boundaries justify the added operational cost.
Apply DDD and CQRS where business rules are genuinely complex; avoid forcing aggregates and command pipelines into CRUD-heavy code with no payoff.
Keep dependencies flowing inward when using clean architecture, but avoid creating extra projects that add ceremony without ownership clarity.
Make integration boundaries explicit: contracts, storage ownership, messaging, consistency model, and observability expectations.
Use aspire when local orchestration, service discovery, and developer observability are part of the architecture story.
Deliver
an architecture direction that matches system complexity
clear project and dependency boundaries
migration notes or tradeoffs when changing an existing structure
Validate
the proposed structure reduces rather than increases accidental complexity
data ownership and integration paths are explicit
the architecture is testable and operable, not just diagram-friendly
References
references/patterns.md - detailed implementations of Clean Architecture, Vertical Slices, DDD, CQRS, Modular Monolith, and Microservices with C# 12+ examples
references/anti-patterns.md - common architectural mistakes including over-abstraction, anemic domain models, premature microservices, and cargo cult patterns
Build, debug, modernize, or review ASP.NET Core applications with correct hosting, middleware, security, configuration, logging, and deployment patterns on current .NET. USE FOR: working on ASP.NET Core apps, services, or middleware; changing auth, routing, configuration, hosting, or deployment behavior; deciding between ASP.NET Core sub-stacks. DO NOT USE FOR: unrelated stacks; generic tasks that do not need this specific guidance. INVOKES: inspect the repository context, edit targeted files, a