From superpowers-laravel
Implements Laravel API Resources with pagination, conditional fields via when(), and stable response shapes for cache-friendly APIs. Useful for consistent model serialization in controllers.
npx claudepluginhub jpcaparas/superpowers-laravel --plugin superpowers-laravelThis skill uses the workspace's default tool permissions.
Represent models via Resources; keep transport concerns out of Eloquent.
Provides patterns for Laravel API Resources covering transformation, conditional attributes, nested relationships, collections, and pagination links. Use for standardizing JSON API responses.
Provides Laravel architecture patterns for production apps: routing/controllers, Eloquent ORM, service layers, queues, events, caching, API resources.
Provides Laravel patterns for controllers, services, Eloquent ORM, routing, queues, events, caching, and API resources in production apps.
Share bugs, ideas, or general feedback.
Represent models via Resources; keep transport concerns out of Eloquent.
# Resource
sail artisan make:resource PostResource # or: php artisan make:resource PostResource
# Controller usage
return PostResource::collection(
Post::with('author')->latest()->paginate(20)
);
# Resource class
public function toArray($request)
{
return [
'id' => $this->id,
'title' => $this->title,
'author' => new UserResource($this->whenLoaded('author')),
'published_at' => optional($this->published_at)->toAtomString(),
];
}
Resource::collection($query->paginate()) over manual arrayswhen() / mergeWhen() for conditional fields