What problem does it solve? Changing a layered .NET application (Backend, BLL, DAL, Contracts) often introduces review mistakes such as layer boundary violations, wrong exception types, racy duplicate checks, and in-memory file buffering. This Skill provides a pre-flight checklist and concrete rules that prevent those mistakes before implementation. ## Core Features & Use Cases - Layer Boundary Enforcement: Keeps dependencies flowing Frontend/Backend -> Contracts + BLL -> DAL, ensuring DAL never references Contracts or Frontend. - Exception and Constraint Strategy: Mandates BllException in BLL, transport exceptions only at edges, and DB unique filtered indexes with CommitResult handling instead of racy pre-checks. - Export and Streaming Conventions: Standardizes a generic export endpoint with keyed plugin DI resolution, JsonDocument/jsonb filter storage, and temp-file streaming to S3 instead of MemoryStream buffering. - Use Case: When adding a new export type to the collection app, follow the checklist to register a keyed IPlugin, store filters as jsonb, enforce duplicate prevention via a unique index, and stream records to a temp file for S3 upload. ## Quick Start Review my planned changes to the collection app's export feature against the codebase patterns checklist before I start coding.