Skip to content
Back to skills

Laravel Packages

ASecurity

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.

  • 666 stars
  • 0 votes
  • 0 copies
  • 8 views
  • Added February 9, 2026
developmentphpbashexpresstestingapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill laravel-packages --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Laravel Packages?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Laravel Packages
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-laravel-packages/badge)](https://www.skillsdirectory.com/skills/majiayu000-laravel-packages)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.