padosoft-laravel-scaffoldinglisted
Install: claude install-skill padosoft/skills
# Laravel scaffolding
The code is the easy part. What gets forgotten is the **wiring**: the route, the policy, the binding, the
test — each of which fails in its own quiet way.
The conventions the generated code must follow are in **`padosoft-laravel-conventions`**; the checks it must
survive are in **`padosoft-laravel-security-review`**.
---
## 0. Ask first, in one batch
- **what**: endpoint, controller, service, CRUD, job, test;
- **which domain/module** it belongs to — and whether that module exists;
- **who may call it**: guest, authenticated, a role, an owner. This answer decides the policy, and it is the
one most often left implicit;
- **the shape of input and output**, and whether the response is shared with a frontend that already expects
a shape;
- **synchronous or queued**, and if queued, on which connection and queue.
If the answer to "who may call it" is "the authenticated user", ask the follow-up: *any* authenticated user,
or only the owner of the record? That distinction is the whole of `SEC-IDOR-001`.
## 1. Endpoint / controller — the file list
| # | File | Skipping it means |
|---|---|---|
| 1 | The route, in the right route file and group | 404, or worse: the route exists without the group's middleware |
| 2 | `FormRequest` | Validation lives in the controller, or nowhere |
| 3 | DTO | An untyped array crosses every boundary |
| 4 | Controller | — |
| 5 | Service / action | The logic is in the controller and is not testable without HTTP |
| 6 | Po