Use domain-oriented folders and keep framework persistence behind explicit boundaries. For an Order feature, create `app/Domains/Order/{Actions,DTOs,Contracts}/`, keep the Eloquent model in `app/Models/`, and use this flow: `Controller → Action → Repository interface → Eloquent implementation`. Define a typed `readonly` DTO for input, an `OrderRepository` contract, and an `EloquentOrderRepository`. Bind the contract to the implementation in `AppServiceProvider`, then inject the contract into ...
Scanned 9/5/2026
Install to Claude Code
npx -y skills add HoangNguyen0403/agent-skills-standard --skill laravel-clean-architecture --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Laravel Clean Architecture?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hoangnguyen0403-laravel-clean-architecture-agent-skills-standard)More formats (shields.io, HTML) on the badges page.
Use domain-oriented folders and keep framework persistence behind explicit boundaries. For an Order feature, create `app/Domains/Order/{Actions,DTOs,Contracts}/`, keep the Eloquent model in `app/Models/`, and use this flow:
`Controller → Action → Repository interface → Eloquent implementation`.
Define a typed `readonly` DTO for input, an `OrderRepository` contract, and an `EloquentOrderRepository`. Bind the contract to the implementation in `AppServiceProvider`, then inject the contract into a single-responsibility Action. The controller should pass the DTO and contain no Eloquent query. Verify the binding with `php artisan tinker` by resolving the interface. Group by business domain rather than by technical type, and avoid God Services or raw arrays crossing layer boundaries.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!