Claude Code Plugins

Community-maintained marketplace

Feedback

Data Transfer Objects using Spatie Laravel Data. Use when handling data transfer, API requests/responses, or when user mentions DTOs, data objects, Spatie Data, formatters, transformers, or structured data handling.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name laravel-dtos
description Data Transfer Objects using Spatie Laravel Data. Use when handling data transfer, API requests/responses, or when user mentions DTOs, data objects, Spatie Data, formatters, transformers, or structured data handling.

Laravel DTOs

Data Transfer Objects: never pass primitives, always use structured DTOs with Spatie Laravel Data.

Core Concepts

dtos.md - Complete DTO guide:

  • Spatie Data basics
  • Request vs response DTOs (dual DTO pattern)
  • Formatters and transformers
  • Test factories
  • Validation integration

dto-factories.md - DTO Factory pattern:

  • Transform external data into internal DTOs
  • Named constructors
  • Field mapping and enum transformations
  • Nested DTOs
  • Safe data access

Pattern

use Spatie\LaravelData\Data;

final class CreateOrderDto extends Data
{
    public function __construct(
        public int $userId,
        public array $items,
        public ?string $notes = null,
    ) {}
}

Use DTOs for:

  • Action parameters
  • API requests/responses
  • Service communication
  • Form request transformation