---
title: "labrodev&#x2F;laravel-playbook skills · skilld"
canonical_url: "https://skilld.dev/gh/labrodev/laravel-playbook"
meta:
  description: "An opinionated Laravel playbook for AI-assisted development. Architecture conventions, coding standards, and stubs for Cursor, Claude Code, Codex, and Junie — installed via Laravel Boost."
  "og:description": "An opinionated Laravel playbook for AI-assisted development. Architecture conventions, coding standards, and stubs for Cursor, Claude Code, Codex, and Junie — installed via Laravel Boost."
  "og:title": "labrodev/laravel-playbook skills"
  "twitter:description": "An opinionated Laravel playbook for AI-assisted development. Architecture conventions, coding standards, and stubs for Cursor, Claude Code, Codex, and Junie — installed via Laravel Boost."
  "twitter:title": "labrodev/laravel-playbook skills"
---

`

[All skills](https://skilld.dev/skills)

[![labrodev avatar](https://skilld.dev/_img/avatar?url=https%3A%2F%2Fgithub.com%2Flabrodev.png)](https://skilld.dev/gh/labrodev)

# **labrodev/laravel-playbook**

An opinionated Laravel playbook for AI-assisted development. Architecture conventions, coding standards, and stubs for Cursor, Claude Code, Codex, and Junie — installed via Laravel Boost.

main Updated last month [GitHub](https://github.com/labrodev/laravel-playbook)

![README badge for labrodev/laravel-playbook](https://skilld.dev/b/labrodev/laravel-playbook?theme=light&label=0)

## Repository statistics

- Indexed skills

  **16**
- Skill groups

  **1**
- GitHub stars

  **0**
- Forks

  **0**

## Skills

16 total

Sort skills

[<h3>**/labrodev-action**</h3>Use when creating, reviewing, or refactoring write-side domain classes in a Labrodev Laravel project: Actions (e.g. BookingCreate, BookingUpdate, BookingRemove), domain Services, or {Model}Rule classes — including guard ordering, domain exceptions on failed gates, DB::transaction wrapping, and UUID assignment. Staged multi-step workflows live in labrodev-pipeline. /labrodev-action](https://skilld.dev/gh/labrodev/laravel-playbook/labrodev-action)

Updated last month

[<h3>**/labrodev-authorization**</h3>Use when creating or reviewing authorization in a Labrodev Laravel project: writing a {Model}Policy class, defining permission constants, wiring #\[UsePolicy\] on a model, adding #\[Authorize\] to an invokable controller, or deciding how any endpoint checks who may view/create/update/remove a resource. /labrodev-authorization](https://skilld.dev/gh/labrodev/laravel-playbook/labrodev-authorization)

Updated last month

[<h3>**/labrodev-controller**</h3>Use when creating, reviewing, or wiring HTTP controllers or routes in a Labrodev Laravel project — invokable Inertia controllers (BookingIndexController, BookingStoreController), JsonControllers under a json/ prefix, API controllers, or route files (explicit routes, {model:uuid} binding, POST /remove). /labrodev-controller](https://skilld.dev/gh/labrodev/laravel-playbook/labrodev-controller)

Updated last month

[<h3>**/labrodev-core**</h3>Use when writing or reviewing ANY PHP code in a Labrodev Laravel project (Laravel 13+, PHP 8.5): creating a class of any kind, deciding which folder/namespace code belongs in, checking dependency direction between App/Layer and Core, applying final/readonly rules, or auditing code for architectural anti-patterns. This is the always-on foundation every other labrodev-\* skill assumes. /labrodev-core](https://skilld.dev/gh/labrodev/laravel-playbook/labrodev-core)

Updated last month

[<h3>**/labrodev-data**</h3>Use when creating, reviewing, or naming Spatie Data classes (\*Data), UUID/collection casters (\*UuidCaster, \*CollectionCaster), or any write-side input validation in a Labrodev Laravel project — including rules(), attributes(), prepareForPipeline(), relation-via-UUID mapping, and nested Data. Also use when someone reaches for a FormRequest: Data classes are the only validation layer. /labrodev-data](https://skilld.dev/gh/labrodev/laravel-playbook/labrodev-data)

Updated last month

[<h3>**/labrodev-enum**</h3>Use when creating, reviewing, or naming PHP enums in a Labrodev Laravel project (BookingStatus, ProductType, OrderState — any status/type/mode field with a finite value set), or when wiring an enum across a boundary: label() presentation helpers, Rule::enum validation in Data classes, enum casts in a model's casts(), value + \*\_label emission in Resources, or EnumMapper select/filter options in ViewModels. /labrodev-enum](https://skilld.dev/gh/labrodev/laravel-playbook/labrodev-enum)

Updated last month

[<h3>**/labrodev-exception**</h3>Use when creating or reviewing any custom Exception class in a Labrodev Laravel project — deciding which folder an exception belongs in (Domain, Shared, Infrastructure, Feature, or a delivery Layer/App), naming it, or wiring the \`::make()\` static-constructor throw contract. /labrodev-exception](https://skilld.dev/gh/labrodev/laravel-playbook/labrodev-exception)

Updated last month

[<h3>**/labrodev-infrastructure**</h3>Use when integrating any external system in a Labrodev Laravel project — payment gateways, email/SMS/messenger providers, ERP or CRM APIs, webhooks, file storage, third-party SDKs — or when creating/reviewing anything under Core/Infrastructure: contracts, per-vendor adapters, resolvers, and external-data mapping. /labrodev-infrastructure](https://skilld.dev/gh/labrodev/laravel-playbook/labrodev-infrastructure)

Updated last month

[<h3>**/labrodev-model**</h3>Use when creating, reviewing, or modifying Eloquent models, model Collections, Observers, or migrations in a Labrodev Laravel project — including declaring casts()/relations/$visible, wiring #\[Table\]/#\[ObservedBy\]/#\[CollectedBy\]/#\[UsePolicy\]/#\[UseFactory\] attributes, or deciding what logic belongs (or does not belong) in a model. /labrodev-model](https://skilld.dev/gh/labrodev/laravel-playbook/labrodev-model)

Updated last month

[<h3>**/labrodev-naming**</h3>Use when naming anything in a Labrodev Laravel project — domains, classes (Actions, Services, Controllers, Data, Queries, Policies, Enums, ...), methods, variables — and whenever invoking an Action/Service or declaring typed parameters. Governs the class-suffix pattern table, the named-arguments callable invocation contract, and the typed-parameter mirror rule (BookingData $bookingData, never $data). /labrodev-naming](https://skilld.dev/gh/labrodev/laravel-playbook/labrodev-naming)

Updated last month

[<h3>**/labrodev-testing**</h3>Use when writing or reviewing Pest tests in a Labrodev Laravel project: Unit tests mirroring the code tree (Actions, Rules, Services, Data validation), end-to-end Feature tests through controllers, domain-state helpers in tests/Pest.php, or the mandatory Pest architecture test suite that mechanically enforces the playbook. /labrodev-testing](https://skilld.dev/gh/labrodev/laravel-playbook/labrodev-testing)

Updated last month

[<h3>**/labrodev-viewmodel-resource**</h3>Use when creating, reviewing, or naming ViewModels (App/Layer/\*/ViewModels, e.g. BookingIndexViewModel, BookingShowViewModel) or Resources (App/Layer/\*/Resources, e.g. BookingIndexResource) — i.e. whenever data is shaped for an Inertia page, Blade template, or JSON payload, or when deciding which fields a model may expose to the browser. /labrodev-viewmodel-resource](https://skilld.dev/gh/labrodev/laravel-playbook/labrodev-viewmodel-resource)

Updated last month

[<h3>**/labrodev-pipeline**</h3>Use when a business use case is a staged workflow rather than one atomic mutation — e.g. booking creation that also creates a customer, sends mails, writes logs, and pushes data to an external CRM. Covers Pipeline step classes, the Payload flow-state object, the orchestrating Service that drives them, and where the trio lives (Core/Domain/{Domain} vs Core/Feature for cross-domain workflows). /labrodev-pipeline](https://skilld.dev/gh/labrodev/laravel-playbook/labrodev-pipeline)

Updated 2 months ago

[<h3>**/labrodev-inertia-react**</h3>Use when creating or reviewing React/Inertia frontend code in a Labrodev Laravel project — Inertia page components under resources/js/pages, typed Props interfaces, useForm form submissions, Wayfinder route usage, t()/lang/\*.json i18n wiring, flash/toast consumption, destructive-action confirmation dialogs, or in-page JSON API calls via @/lib/http. /labrodev-inertia-react](https://skilld.dev/gh/labrodev/laravel-playbook/labrodev-inertia-react)

Updated 2 months ago

[<h3>**/labrodev-query**</h3>Use when creating, reviewing, or extending read-side query classes in a Labrodev Laravel project: Core Domain Query classes (e.g. BookingQuery) and Layer IndexQuery classes (e.g. BookingIndexQuery), or when deciding where any data-fetching code (listing, filtering, sorting, existence checks) belongs. /labrodev-query](https://skilld.dev/gh/labrodev/laravel-playbook/labrodev-query)

Updated 2 months ago

[<h3>**/labrodev-static-analysis**</h3>Use when configuring, running, or fixing findings from the code-quality toolchain in a Labrodev Laravel project — Pint (pint.json, code style), PHPStan/Larastan (phpstan.neon, levels, baselines, generics errors), or Rector (rector.php, automated refactoring) — or when deciding whether a tool error may be suppressed. /labrodev-static-analysis](https://skilld.dev/gh/labrodev/laravel-playbook/labrodev-static-analysis)

Updated 2 months ago

## Add to your README

The badge links readers to this page. It shows the skilld mark and no counts, and it follows the reader's light or dark GitHub theme.

`<a href="https://skilld.dev/gh/labrodev/laravel-playbook"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://skilld.dev/b/labrodev/laravel-playbook?theme=dark"> <source media="(prefers-color-scheme: light)" srcset="https://skilld.dev/b/labrodev/laravel-playbook?theme=light"> <img alt="Skill repository on skilld.dev" src="https://skilld.dev/b/labrodev/laravel-playbook?theme=light"> </picture> </a>`