Enforce core architectural standards for scalable Laravel applications. Use when structuring controllers, service layers, action classes, Form Requests, or Service Container bindings in Laravel projects.
Scanned 9/4/2026
Install to Claude Code
npx -y skills add gabrielmoreira/agent-skills-mirror --skill laravel-architecture --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Laravel Architecture?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/gabrielmoreira-laravel-architecture)More formats (shields.io, HTML) on the badges page.
---
name: laravel-architecture
description: Enforce core architectural standards for scalable Laravel applications. Use when structuring controllers, service layers, action classes, Form Requests, or Service Container bindings in Laravel projects.
metadata:
triggers:
files:
- 'app/Http/Controllers/**/*.php'
- 'routes/*.php'
keywords:
- controller
- service
- action
- request
- container
---
# Laravel Architecture
## **Priority: P0 (CRITICAL)**
## Structure
See [project structure](references/implementation.md#project-structure) for recommended directory layout.
## Workflow
1. **Create Form Request** for validation (`php artisan make:request StoreUserRequest`).
2. **Create Action class** with single `handle()` method for use case.
3. **Inject Action** into controller via constructor DI.
4. **Bind interfaces** in `AppServiceProvider` for swappable implementations.
## Controller Pattern
See [implementation examples](references/implementation.md#controller-pattern) for slim controller, action class, and service container binding patterns.
## Validation
- Use Form Requests with `authorize()` and `rules()` methods.
- Call `$request->validated()` in controller for mass assignment.
- Never use inline `$request->validate()`.
## Anti-Patterns
- **No logic in Controllers**: Move to Services or Action classes.
- **No manual instantiation**: Use Service Container via DI.
- **No inline `$request->validate()`**: Favor Form Request classes.
- **No excessive global helpers**: Use class-based logic instead.
## References
- [Slim Controller Patterns](references/implementation.md)
## Canonical response anchors
When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:
- No logic in
- Additional task-grounded exact anchors: handle()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!