From fuse-laravel
Build RESTful APIs with Laravel using API Resources, Sanctum authentication, rate limiting, and versioning. Use when creating API endpoints, transforming responses, or handling API authentication.
How this skill is triggered — by the user, by Claude, or both
Slash command
/fuse-laravel:laravel-apiThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Before ANY implementation, use `TeamCreate` to spawn 3 agents:
references/controllers.mdreferences/http-client.mdreferences/middleware.mdreferences/pagination.mdreferences/rate-limiting.mdreferences/redirects.mdreferences/requests.mdreferences/responses.mdreferences/routing.mdreferences/strings.mdreferences/templates/ApiController.php.mdreferences/templates/ApiResource.php.mdreferences/templates/FormRequest.php.mdreferences/templates/HttpClientService.php.mdreferences/templates/api-routes.mdreferences/templates/routing-examples.mdreferences/templates/validation-rules.mdreferences/urls.mdreferences/validation.mdBefore ANY implementation, use TeamCreate to spawn 3 agents:
After implementation, run fuse-ai-pilot:sniper for validation.
Build RESTful APIs with Laravel using API Resources for response transformation and Sanctum for authentication.
| Component | Purpose |
|---|---|
| Controllers | Handle requests, delegate to services |
| Form Requests | Validate input, authorize actions |
| API Resources | Transform models to JSON |
| Middleware | Auth, rate limiting, CORS |
| Routes | Versioned endpoints with groups |
| Pagination | Offset/cursor pagination |
| HTTP Client | Consume external APIs |
/v1/, /v2/with() before pagination| Topic | Reference | When to consult |
|---|---|---|
| Routing | routing.md | Defining versioned API routes |
| Controllers | controllers.md | Controller patterns, resource methods |
| Middleware | middleware.md | Route protection, request filtering |
| Validation | validation.md | Form Requests, validation rules |
| Topic | Reference | When to consult |
|---|---|---|
| Requests | requests.md | Accessing input, files, headers |
| Responses | responses.md | API Resources, status codes |
| Pagination | pagination.md | Offset/cursor pagination |
| Topic | Reference | When to consult |
|---|---|---|
| Rate Limiting | rate-limiting.md | Throttle configuration |
| HTTP Client | http-client.md | Consuming external APIs |
| URLs | urls.md | URL generation, signed URLs |
| Strings | strings.md | String helpers, UUIDs, slugs |
| Redirects | redirects.md | Redirect responses |
| Template | Purpose |
|---|---|
| ApiController.php.md | Complete CRUD controller with service |
| api-routes.md | Versioned routes with middleware |
| routing-examples.md | Detailed routing patterns |
| Template | Purpose |
|---|---|
| FormRequest.php.md | Store/Update Form Requests |
| validation-rules.md | All validation rules reference |
| ApiResource.php.md | Resource with relationships |
| Template | Purpose |
|---|---|
| HttpClientService.php.md | Reusable HTTP client service |
return PostResource::collection($posts);
return PostResource::make($post);
return PostResource::make($post)->response()->setStatusCode(201);
return response()->json(null, 204);
public function store(StorePostRequest $request): JsonResponse
{
$post = $this->service->create($request->validated());
return PostResource::make($post)->response()->setStatusCode(201);
}
Route::middleware('throttle:60,1')->group(fn () => ...);
Route::prefix('v1')->group(function () {
Route::apiResource('posts', PostController::class);
});
return PostResource::collection(Post::paginate(15));
| Feature | Status | Reference |
|---|---|---|
| RESTful Controllers | ✅ | controllers.md |
| API Resources | ✅ | responses.md |
| Form Request Validation | ✅ | validation.md |
| Route Versioning | ✅ | routing.md |
| Route Model Binding | ✅ | routing.md |
| Middleware | ✅ | middleware.md |
| Rate Limiting | ✅ | rate-limiting.md |
| Pagination | ✅ | pagination.md |
| Cursor Pagination | ✅ | pagination.md |
| HTTP Client | ✅ | http-client.md |
| Signed URLs | ✅ | urls.md |
| JSON Responses | ✅ | responses.md |
npx claudepluginhub fusengine/agents --plugin fuse-laravelBuilds production-grade Laravel REST APIs using essa/api-tool-kit patterns (ApiResponse, QueryFilters, dynamicPaginate, EnumHelpers) and best practices for code quality, auth, testing, database.
Provides production-grade Laravel architecture patterns: controllers, services, actions, Eloquent ORM, queues, events, caching, API resources, and route model binding.
Builds and configures Laravel 10+ applications with Eloquent models, Sanctum auth, Horizon queues, RESTful APIs, Livewire components, and Pest/PHPUnit tests.