skills/laravel/laravel-eloquent/SKILL.md
Write performant Eloquent queries with eager loading, reusable scopes, and strict lazy-loading prevention in Laravel. Use when defining model relationships, creating query scopes, or processing large datasets with chunk/cursor.
npx skillsauth add hoangnguyen0403/agent-skills-standard laravel-eloquentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
$fillable, $casts, and relationships.preventLazyLoading(!app()->isProduction()) in AppServiceProvider.scopeActive(), scopeVerified() for reusable filters.with() for all relationship access.chunk() or cursor() instead of get().See implementation examples for model scopes, eager loading, and directory structure.
with() or $with for relationships. Never access relationship properties in loop without eager loading (N+1 Prevention).Eloquent::preventLazyLoading(!app()->isProduction()) in AppServiceProvider::boot() to throw LazyLoadingViolationException in local/dev.chunk(), lazy(), or cursor() for processing many records without memory issues (Memory Efficiency).scopeName(Builder $query): Builder methods in models for reusable query filters.User::active()->verified()->get()) to keep controllers from duplicating query logic.protected $fillable array; use $request->validated() for Model::create().protected $casts for dates, JSON, and custom types to ensure data consistency.with() or $with; never in loops.select *: Specify required columns to limit data transfer.testing
Infer the requesting operator's technical fluency from message content (never ask directly) and adapt register — business, hybrid, or technical — across SDLC workflow output. Use when starting sdlc, brainstorm-feature, plan-feature, verify-work, publish-notes, or session-report, or whenever a request's phrasing signals a non-technical or cross-stack operator.
documentation
Define transaction boundaries, locking, and consistency guarantees for multi-step writes. Use when designing atomic operations, retries, idempotency, or concurrent write behavior.
development
Design relational or document schemas from access patterns, cardinality, and lifecycle. Use when modeling entities, choosing embed vs normalize, or shaping schema boundaries before implementation.
data-ai
Diagnose database latency with explain plans, index ownership, and query-shape review. Use when a query is slow, an index is missing, or scans and N+1 patterns appear.