dev-laravel/SKILL.md
Use when building or modifying Laravel applications, including routes, controllers, models, migrations, jobs, actions, and API resources.
npx skillsauth add paulund/ai dev-laravelInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
./vendor/bin/sail composer run test (Pint + PHPStan level 8 + Pest)| Topic | Reference | Load When |
|-------|-----------|-----------|
| Models | references/models.md | Eloquent models, relationships, scopes, casts |
| Routes | references/routes.md | Route definitions, naming, grouping, middleware |
| Controllers | references/controllers.md | Invokable controllers, route model binding, return types |
| Actions | references/actions.md | Business logic, record creation/update/delete |
| Form Requests | references/form-requests.md | Validation, authorization |
| API Resources | references/api-resources.md | Model transformation, nested resources, Inertia props |
| Services | references/services.md | External I/O, third-party API clients, DTOs |
| Jobs & Events | references/jobs-events.md | Queued jobs, event dispatching, listeners |
| Policies | references/policies.md | Authorization policies, gates |
| Migrations | references/migrations.md | Schema changes, indexes, foreign keys |
| Configuration | references/configuration.md | #[Config] attribute injection, view data passing |
| Current User | references/current-user.md | #[CurrentUser] attribute, authenticated user injection |
$request->validate() in controllersrules()) for actions with no request body (show, edit, destroy)resource_id (UUID) as public id — never expose internal database IDs#[Config] attribute for configuration injection#[CurrentUser] attribute for authenticated user injection in controller constructorsGate::authorize() in controllers — use Form Request authorize() methodAuth::user() inside controller methods — use #[CurrentUser] constructor injection insteaddevelopment
Use when the user wants to run the project's lint + types + build sequence as a gate before pushing, opening a PR, or merging. Invoked by chained dev skills between phases. Trigger phrases - "/quality-gate", "run the quality gate", "check it builds".
tools
Use when the user wants to verify a PR's feature works at runtime by booting the dev server, exercising the affected UI via Chrome DevTools MCP, and posting a screenshot summary back to the PR. Idempotent — skips if `verified` or `verify-failed` is already on the PR. Trigger phrases - "/pr-verify", "verify this PR", "runtime check the pr".
testing
Use when the user wants a security-focused review pass on a PR with findings actioned as commits on the same branch. Trigger phrases - "/pr-security-review", "security review and fix".
testing
Use when the user wants to open a pull request for an already-pushed branch that implements a specific issue. Idempotent — returns the existing PR if one is already open for the branch. Trigger phrases - "/pr-open", "open the pr", "create pr for this branch".