agent-creator
Use when creating expert agents. Generates agent.md with frontmatter, hooks, required sections, and skill references.
Use when migrating Eloquent models, Jobs, Console commands, Controllers, API Resources, Validation, Factories or Seeders to Laravel 13 PHP attributes.
$ npx -y skills add fusengine/agents --skill laravel-attributes --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/laravel-attributesContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when migrating Eloquent models, Jobs, Console commands, Controllers, API Resources, Validation, Factories or Seeders to Laravel 13 PHP attributes.
name: laravel-attributes description: Use when migrating Eloquent models, Jobs, Console commands, Controllers, API Resources, Validation, Factories or Seeders to Laravel 13 PHP attributes. versions: laravel: "13.0" php: "8.3" user-invocable: true references: references/eloquent.md, references/queue.md, references/console.md, references/controllers.md, references/validation.md, references/api-resources.md, references/factories-seeders.md, references/templates/Model-with-attributes.php.md, references/templates/Job-with-attributes.php.md related-skills: laravel-eloquent, laravel-queues, laravel-api
<objective> Covers all 7 categories of Laravel 13 first-party PHP 8.3 attributes that replace legacy class properties: Eloquent (#[Table], #[Fillable], #[Hidden], #[Guarded], #[Appends], #[Touches], #[Connection]), Queue/Job (#[Connection], #[Queue], #[Tries], #[Timeout], #[Backoff], #[MaxExceptions], #[FailOnTimeout], #[UniqueFor]), Console (#[Signature], #[Description]), Controllers (#[Middleware], #[Authorize]), Validation (#[RedirectTo], #[StopOnFirstFailure]), API Resources (#[Collects], #[PreserveKeys]), and Factories/Seeders (#[UseModel], #[Seed], #[Seeder]). </objective>
Before ANY implementation, spawn 3 agents in parallel, one `Agent` call each with a `name`:
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.
---
| 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]` |
---
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. **Single source of truth** - Choose attributes OR properties per class; refactor in one pass to avoid drift 4. **Inheritance is additive** - Child class attributes merge with parent attributes; redeclare to override 5. **Import the right namespace** - `Illuminate\Database\Eloquent\Attributes\*` for Eloquent, `Illuminate\Queue\Attributes\*` for Jobs
---
app/
├── Models/
│ └── User.php # #[Table] #[Fillable] #[Hidden] #[Appends]
├── Jobs/
│ └── ProcessPodcast.php # #[Connection] #[Queue] #[Tries] #[Backoff]
├── Console/Commands/
│ └── SendEmails.php # #[Signature] #[Description]
├── Http/
│ ├── Controllers/
│ │ └── PostController.php # #[Middleware] #[Authorize]
│ └── Resources/
│ └── PostCollection.php # #[Collects] #[PreserveKeys]
└── Http/Requests/
└── StoreUserRequest.php # #[RedirectTo] #[StopOnFirstFailure]→ See [Model-with-attributes.php.md](references/templates/Model-with-attributes.php.md) for full example
---
| Topic | Reference | When to Consult | |-------|-----------|-----------------| | **Eloquent models** | [eloquent.md](references/eloquent.md) | Migrating `$fillable / $hidden / $table / $connection` | | **Queue jobs** | [queue.md](references/queue.md) | Replacing `$tries / $timeout / $backoff` properties | | **Console commands** | [console.md](references/console.md) | Refactoring `$signature / $description` properties | | **Controllers** | [controllers.md](references/controllers.md) | Moving middleware/authorize from constructors | | **Validation** | [validation.md](references/validation.md) | FormRequest redirect + early-stop config | | **API Resources** | [api-resources.md](references/api-resources.md) | Collection wrapping and key preservation | | **Factories / Seeders** | [factories-seeders.md](references/factories-seeders.md) | Model binding and seeder discovery |
| Template | When to Use | |----------|-------------| | [Model-with-attributes.php.md](references/templates/Model-with-attributes.php.md) | Net new Eloquent model | | [Job-with-attributes.php.md](references/templates/Job-with-attributes.php.md) | Net new queue Job |
---
use Illuminate\Database\Eloquent\Attributes\{Table, Fillable, Hidden, Appends};
#[Table('flights')]
#[Fillable(['name', 'origin'])]
#[Hidden(['password'])]
#[Appends(['is_admin'])]
class Flight extends Model {}use Illuminate\Queue\Attributes\{Connection, Queue, Tries, Backoff};
#[Connection('redis')]
#[Queue('podcasts')]
#[Tries(5)]
#[Backoff([10, 30, 60])]
class ProcessPodcast implements ShouldQueue {}→ See [Job-with-attributes.php.md](references/templates/Job-with-attributes.php.md) for complete example
---
A plugin ecosystem that turns Claude Code into a supervised, multi-agent development environment.
Repo: fusengine/agents
Use when creating expert agents. Generates agent.md with frontmatter, hooks, required sections, and skill references.
Use when starting ANY development task -- feature, bug fix, refactor, hotfix (triggers: implement, create, build, fix, add feature, refactor, develop).
Use when creating a feature/component or adding functionality. Fires BEFORE APEX Analyze to refine requirements via structured questioning.
Use before a root-cause, done/verified claim, irreversible action, or 2nd-time fix reaches the owner (APEX or plain conversation); also fires at every…
Use when validating code quality after modifications -- SOLID compliance, DRY duplication, linter errors, architecture violations. Do NOT use for functional…
Use when an expert agent self-reviews and self-corrects code after the Execute phase, before sniper validation (BMAD-METHOD elicitation techniques).