What problem does it solve? Adding or modifying an endpoint in the Toollab Laravel API requires navigating a cascade of middleware groups (auth, school, schoolyear, checkrole), strict response formats, French validation messages, and pagination contracts. This Skill encodes all of those conventions so new endpoints are placed correctly and follow the project's established patterns instead of introducing inconsistencies or security gaps. ## Core Features & Use Cases - Middleware placement guide: Maps every route group in routes/api.php (public, auth:sanctum, school, schoolyear, checkrole) so mutative routes land under the right security context. - Controller skeleton and response contract: Enforces the {status, message, data} JSON format, DB transactions for multi-table writes, and mandatory Log::error calls in catch blocks. - Validation and authorization rules: Provides French validation messages (no lang/ files exist), school-scoped Rule::exists constraints, and reusable gates like callerCanAccessFamily and guardClassroom. - Pagination and file responses: Standardizes per_page defaults (10, capped at 100, lower-bounded) and BinaryFileResponse patterns for XLSX exports and PDF invoices. - Use Case: When asked to add a POST endpoint for creating classrooms, the Skill directs you to place it under the schoolyear group with checkrole:director,admin, validate cursus_id against the current school, wrap writes in a transaction, and return the standard 201 response. ## Quick Start Ask the AI to create a new API endpoint for a Toollab resource, for example: add a POST endpoint to create a classroom following the api-endpoint conventions.