From vanguard-frontier-agentic
Statically reviews EF Core data access for correctness, performance, and isolation — DbContext lifetime, N+1 queries, SQL injection, concurrency tokens, multi-tenant filters, and migration drift.
How this skill is triggered — by the user, by Claude, or both
Slash command
/vanguard-frontier-agentic:dotnet-efcore-data-access-reviewThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill statically reviews EF Core data access for correctness, performance, and isolation. A data access layer is only safe if the DbContext has the right lifetime, queries do not concatenate user input into SQL, multi-tenant entities cannot leak across tenants, result sets are bounded, contended aggregates carry a concurrency token, the model matches its migrations, and cloud connections s...
This skill statically reviews EF Core data access for correctness, performance, and isolation. A data access layer is only safe if the DbContext has the right lifetime, queries do not concatenate user input into SQL, multi-tenant entities cannot leak across tenants, result sets are bounded, contended aggregates carry a concurrency token, the model matches its migrations, and cloud connections survive transient faults. The review catches singleton DbContext registration, string-interpolated raw SQL, missing global query filters, N+1 query patterns, unbounded queries, missing RowVersion tokens, model-vs-migration drift, and absent connection resiliency.
DbContext class, IEntityTypeConfiguration classes, migration files, or repository/query code.FromSqlRaw/ExecuteSqlRaw (or any raw SQL built by concatenating user input) as SQL-injection surface; recommend parameterized FromSql/FromSqlInterpolated or {0} placeholders.HasQueryFilter) on a multi-tenant entity as a tenant-isolation failure; every query on that entity can return rows from other tenants.DbContext registered as a singleton as a defect; DbContext is not thread-safe and concurrent requests will corrupt state. Expect Scoped (or a pooled/factory pattern with per-use instances).Include/projection) or a single batched query..ToList with no pagination on user-facing data) as a defect; recommend Skip/Take or keyset pagination.RowVersion/IsRowVersion) on contended aggregates as a lost-update risk.EnableRetryOnFailure) against a cloud database as a reliability gap.AsNoTracking for reads only.AsNoTracking on write paths; never recommend a retry to mask a transaction-boundary bug; never recommend disabling a failing gate as the fix.confirmed (source provided), inference (partial source), assumption (source absent), or unknown.Load these only when needed:
Return, at minimum:
npx claudepluginhub raishin/vanguard-frontier-agentic --plugin vanguard-frontier-agenticEntity Framework Core patterns for .NET 10: DbContext configuration, migrations, interceptors, compiled queries, ExecuteUpdateAsync/ExecuteDeleteAsync, value converters, and query optimization.
Entity Framework Core best practices including NoTracking by default, query splitting for navigation collections, migration management, dedicated migration services, interceptors, compiled queries, and connection resiliency. Use when setting up EF Core in a new project, optimizing query performance, managing database migrations, integrating EF Core with .NET Aspire, or debugging change tracking issues.
Provides Entity Framework Core patterns for DbContext setup, fluent API configurations, migrations, LINQ queries, relationships, CRUD operations, and performance best practices. Useful for .NET data access.