architecture-quality-review

Reviews .NET architecture invariants and code quality across diffs with graded findings.

2|Updated Aug 2, 2026
One-click install
npx skills add https://github.com/Arasz/ai-raccoon --skill architecture-quality-review-arasz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: architecture-quality-review
Source: https://github.com/Arasz/ai-raccoon/tree/main/.ai-badger/skills/learned/uncategorized/architecture-quality-review
Command: npx skills add https://github.com/Arasz/ai-raccoon --skill architecture-quality-review-arasz

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Reviewing multi-layer .NET changes for architecture violations is slow and inconsistent, letting traps like sync-over-async, static I/O, and DI abstraction bypasses slip into merges. ## Core Features & Use Cases - Invariant Checks: Verifies screaming architecture, clean layering via DomainPurityTests allowlists, DI composition and lifetimes, pure-only static classes, guard clauses, LoggerMessage patterns, bounded retry, partition-by-userId with single-writer Cosmos access, managed identity, and absence of hardcoded secrets. - Graded Findings: Emits MUST-FIX, SHOULD-FIX, and NIT findings with file:line evidence, code snippets, impact, and concrete fixes, ending in a verdict such as B+ or GOOD. - Trap Detection: Catches known failure patterns like GetAwaiter().GetResult() bridging, static classes performing I/O, concrete instantiation bypassing DI abstractions, and property getters re-allocating collections. - Use Case: Before merging a wave touching Domain, Infrastructure, and Api layers with Cosmos and Durable Functions, run this review to get a pre-merge invariant verdict with actionable fixes. ## Quick Start Review the current git diff for .NET architecture invariant violations and produce graded findings with file:line evidence and a final verdict.

Frequently Asked Questions about architecture-quality-review

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I review .NET architecture invariants before merging a pull request?

Load the invariant checklist, run git diff --stat to scope changed files, then verify layering, DI composition, static-class purity, and retry bounds. Emit graded MUST-FIX, SHOULD-FIX, and NIT findings with file:line evidence and a final verdict.

How to detect sync-over-async deadlocks in C# code?

Search for GetAwaiter().GetResult() or .Result in Infrastructure code bridging sync interfaces to async libraries. Fix by adding an async method like RenderAsync, or use ConfigureAwait(false) with a context-free caller to avoid deadlocks.

What architecture rules should a clean .NET solution enforce?

Enforce screaming architecture with domain-named folders, clean layering via a DomainPurityTests allowlist, DI composition through AddInfrastructure and AddApiServices, pure-only static classes, guard clauses, LoggerMessage patterns, and bounded retry with MaxAttempts.

Why is a static class doing I/O a problem in C#?

Static classes performing I/O, such as GetManifestResourceStream calls, violate the pure-only rule and hide testable seams. Extract the behavior into an injectable interface like ICvHtmlBuilder registered as a singleton so it can be mocked in tests.

How do I fix property allocation leaks in C# records?

Replace computed properties that call ToList, ToArray, or ToHashSet on every access with explicit constructors or init blocks that compute the collection once. Store the result in a backing field or expose a pre-computed FrozenSet.

When should I use this architecture review instead of a general code review?

Use it for multi-layer .NET waves touching Domain, Infrastructure, and Api projects, especially with Cosmos or Durable components, when a pre-merge invariant verdict is needed. General reviews suit style and logic concerns outside these invariants.