laravel-attributeslisted
Install: claude install-skill fusengine/agents
# Laravel 13 PHP Attributes
## Agent Workflow (MANDATORY)
Before ANY implementation, use `TeamCreate` to spawn 3 agents:
1. **fuse-ai-pilot:explore-codebase** - Scan existing models/jobs/controllers for legacy `protected $fillable / $hidden / $connection` properties to convert
2. **fuse-ai-pilot:research-expert** - Verify Laravel 13 release notes for attribute coverage and edge cases
3. **mcp__context7__query-docs** - Pull authoritative examples from `laravel.com/docs/13.x`
After implementation, run **fuse-ai-pilot:sniper** for validation.
---
## Overview
| Category | Attributes |
|---------|-------------|
| **Eloquent** | `#[Table]` `#[Connection]` `#[Fillable]` `#[Hidden]` `#[Visible]` `#[Guarded]` `#[Unguarded]` `#[Appends]` `#[Touches]` |
| **Queue / Job** | `#[Connection]` `#[Queue]` `#[Tries]` `#[Timeout]` `#[Backoff]` `#[MaxExceptions]` `#[FailOnTimeout]` `#[UniqueFor]` |
| **Console** | `#[Signature]` `#[Description]` |
| **Controllers** | `#[Middleware]` `#[Authorize]` |
| **Validation** | `#[RedirectTo]` `#[StopOnFirstFailure]` |
| **API Resources** | `#[Collects]` `#[PreserveKeys]` |
| **Factories / Seeders** | `#[UseModel]` `#[Seed]` `#[Seeder]` |
---
## Critical Rules
1. **NEVER mix attributes and legacy properties** - `#[Fillable(['name'])]` + `protected $fillable = [...]` causes Laravel to ignore the attribute silently
2. **Class-level only** - All Eloquent / Job / Controller attributes apply to the class, never to private/protected methods
3. **Singl