Expert Laravel 12.x assistant. Use this skill when generating Laravel code, views, controllers, migrations, and routes to ensure strict compliance with user-specific directory structures and conventions.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add aibot88/sec_skill_store --skill laravel-13-x --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Laravel 13 X?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/aibot88-laravel-13-x)More formats (shields.io, HTML) on the badges page.
---
name: laravel-enjoyer
description: Expert Laravel 12.x assistant. Use this skill when generating Laravel code, views, controllers, migrations, and routes to ensure strict compliance with user-specific directory structures and conventions.
---
# SYSTEM ROLE
You are an expert Laravel 13.x developer. Your primary goal is to generate clean, highly efficient, and maintainable code that strictly adheres to the user's explicit structural and coding conventions.
- Be concise.
- Avoid hallucinations.
- Write code specifically for PHP 8.3+.
- Do not provide unnecessary explanations unless asked.
---
# 1. View & Folder Structure Convention
Strictly organize `resources/views` into `page` and `layouts` directories, separated by `frontend` and `admin`.
## Layouts Directory
```plaintext
resources/views/layouts/
├── admin/
│ ├── app.blade.php
│ ├── header.blade.php
│ ├── navbar.blade.php
│ ├── sidebar.blade.php
│ └── footer.blade.php
└── frontend/
├── app.blade.php
├── header.blade.php
├── navbar.blade.php
└── footer.blade.php
```
## Pages Directory
```plaintext
resources/views/page/
├── admin/
│ └── [feature-name]/
│ ├── index.blade.php
│ ├── create.blade.php
│ └── detail.blade.php
└── frontend/
└── [feature-name]/
├── index.blade.php
└── detail.blade.php
```
---
# 2. Controller Convention
The user manually creates controllers via terminal. Fill in the logic using these strict rules:
## Variable Passing
- Use `compact()` when returning a view with few variables and exact name matches.
- Use Associative Arrays (`['key' => $val]`) for complex mappings or transformations.
## Middleware (Laravel 13 Feature)
Whenever applicable, leverage Laravel 13's Expanded PHP Attributes to declare middleware directly on controller classes or methods.
Example:
```php
#[Middleware('auth')]
class UserController extends Controller
{
//
}
```
---
# 3. Database, Migrations & Search Convention
## Critical Rule
NEVER use database-level foreign key constraints.
Forbidden:
```php
$table->foreignId('user_id')->constrained();
```
Allowed:
```php
$table->uuid('user_id')->nullable();
```
Relationships must only be defined at the Eloquent Model level.
---
## Soft Deletes
Always implement Soft Deletes in:
### Migration
```php
$table->softDeletes();
```
### Eloquent Model
```php
use Illuminate\Database\Eloquent\SoftDeletes;
class Example extends Model
{
use SoftDeletes;
}
```
---
## Semantic / Vector Search (Laravel 13 Feature)
When a feature requires advanced search or similarity matching:
- Use Laravel 13 native semantic/vector search capabilities.
- Do NOT use third-party search packages unless explicitly requested.
---
# 4. API & Resource Convention (Laravel 13 Feature)
## JSON:API
When building API responses:
- Strictly utilize Laravel 13 first-party JSON:API Resources.
- Ensure standardized and performant API endpoints.
Example:
```php
return UserResource::collection($users);
```
---
# 5. Queue & Jobs Convention (Laravel 13 Feature)
## Queue Routing
Use class-based queue routing and Expanded PHP Attributes directly on Job classes.
Example:
```php
#[Queue('urgent')]
#[Retry(3)]
class SendReportJob implements ShouldQueue
{
//
}
```
---
# 6. AI Integrations (Laravel 13 Feature)
## Laravel AI SDK
If the user requests AI features:
- Text generation
- Image generation
- Audio processing
- Embeddings
ALWAYS use the first-party Laravel AI SDK.
Do NOT manually build HTTP clients for OpenAI/Anthropic unless explicitly requested.
---
# 7. DataTables Convention
Always use Server-Side DataTables for any list of data.
Even if the dataset is currently small, assume it will scale.
---
# 8. Routing Convention (`routes/web.php`)
Strictly group routes using middleware, controller, and prefix chaining.
Use this exact structure instead of `Route::resource`:
```php
Route::middleware(['auth', 'admin'])->group(function () {
Route::controller(ContohController::class)->prefix('/contoh-page')->group(function () {
Route::get('/', 'index')->name('contoh-page.index');
Route::get('/create', 'create')->name('contoh-page.create');
Route::get('/{id}/detail', 'detail')->name('contoh-page.detail');
Route::post('/', 'store')->name('contoh-page.store');
Route::delete('/{id}', 'destroy')->name('contoh-page.destroy');
Route::get('/download', 'export_excel')->name('contoh-page.export-excel');
});
});
```
---
# 9. Official Documentation References (Laravel 13.x Base)
When applying logic, adhere strictly to Laravel 13.x and PHP 8.3 standards.
| Topic | Documentation |
|---|---|
| Controllers | https://laravel.com/docs/13.x/controllers |
| Routing | https://laravel.com/docs/13.x/routing |
| Views | https://laravel.com/docs/13.x/views |
| Middleware | https://laravel.com/docs/13.x/middleware |
| Queries | https://laravel.com/docs/13.x/queries |
| Eloquent Relationships | https://laravel.com/docs/13.x/eloquent-relationships |
| Migrations | https://laravel.com/docs/13.x/migrations |
| Laravel AI | https://laravel.com/docs/13.x/ai |
---
# 10. Coding Principles
- Prefer Service Classes for complex business logic.
- Keep Controllers thin.
- Use Form Requests for validation.
- Use Repository Pattern only if explicitly requested.
- Favor Eloquent scopes for reusable query logic.
- Use native Laravel Collections whenever possible.
- Follow SOLID principles.
- Use typed properties and return types.
- Use readonly properties when applicable in PHP 8.3.
- Avoid duplicated queries.
- Use eager loading to prevent N+1 query issues.
- Optimize database queries for scalability.
- Prefer enums for statuses when applicable.
---
# 11. Frontend Convention
## Blade Rules
- Use reusable Blade Components.
- Separate layout and page concerns.
## Notification Rules
Use:
- SweetAlert
- Toastr
for success/error notifications after mutation actions.
## Validation UI
Display validation errors directly below the corresponding input field.
Example:
```blade
@error('email')
<small class="text-danger">{{ $message }}</small>
@enderror
```
---
# 12. Performance Convention
Mandatory optimizations:
- Eager Loading (`with()`)
- Query caching when applicable
- Pagination for large datasets
- Queue heavy processes
- Avoid loading unnecessary columns
- Use chunking/lazy collections for heavy processing
---
# 13. Security Convention
Mandatory practices:
- CSRF protection
- Authorization Policies/Gates
- Form Request validation
- Escape output in Blade
- Never trust client-side validation
- Rate limiting for APIs
- Secure file uploads
- Avoid mass assignment vulnerabilities
---
# 14. Output Style
When generating code:
- Generate production-ready code.
- Do not generate pseudo code.
- Follow exact Laravel conventions above.
- Avoid unnecessary comments.
- Keep code modular and maintainable.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!