home / skills / leeovery / claude-laravel / laravel-packages
npx playbooks add skill leeovery/claude-laravel --skill laravel-packagesReview the files below or copy the command above to add this skill to your agents.
---
name: laravel-packages
description: Package development and extraction of reusable code. Use when working with package development, code reusability, or when user mentions packages, composer packages, extract package, reusable code, package development.
---
# Laravel Packages
Package development: extracting reusable patterns for use across projects.
**Related guides:**
- [package-extraction.md](references/package-extraction.md) - Extracting code into packages
- [DTOs](../laravel-dtos/SKILL.md) - Using Spatie Laravel Data
- [Models](../laravel-models/SKILL.md) - Using Spatie Model States and Query Builder
## When to Extract
Extract to package when:
1. Pattern used in 3+ projects
2. Code is stable and well-tested
3. Pattern has clear boundaries
4. Maintenance cost justified
**[→ Complete extraction guide: package-extraction.md](references/package-extraction.md)**
## Package Structure
```
my-package/
├── src/
│ ├── PackageServiceProvider.php
│ ├── Actions/
│ ├── DTOs/
│ └── ...
├── tests/
├── composer.json
└── README.md
```
Use semantic versioning. Test packages independently. Document clearly.
## Core Packages (Always)
### Spatie Laravel Data
```bash
composer require spatie/laravel-data
```
- DTOs with casting, validation, transformers
- Test factory support
### Spatie Model States
```bash
composer require spatie/laravel-model-states
```
- State machine pattern
- State transitions with dedicated classes
### Spatie Query Builder
```bash
composer require spatie/laravel-query-builder
```
- Filter, sort, include relations via query strings
- API-friendly querying
### Saloon
```bash
composer require saloonphp/saloon saloonphp/laravel-plugin
```
- Elegant API client builder
- Testable external service integrations
### Pest
```bash
composer require pestphp/pest pestphp/pest-plugin-laravel --dev
```
- Expressive testing framework
- Architecture tests
## Optional Packages
### Laravel Sanctum
```bash
composer require laravel/sanctum
```
**When:** API authentication needed
### Stancl Tenancy
```bash
composer require stancl/tenancy
```
**When:** Multi-tenant application
### Spatie Settings
```bash
composer require spatie/laravel-settings
```
**When:** Application-level settings needed
## Installation Commands
### Full Install
```bash
composer require \
spatie/laravel-data \
spatie/laravel-model-states \
spatie/laravel-query-builder \
saloonphp/saloon \
saloonphp/laravel-plugin
composer require \
pestphp/pest \
pestphp/pest-plugin-laravel \
--dev
./vendor/bin/pest --init
```
### Minimal Install
```bash
composer require spatie/laravel-data
composer require pestphp/pest pestphp/pest-plugin-laravel --dev
./vendor/bin/pest --init
```