agent-creator
Use when creating expert agents. Generates agent.md with frontmatter, hooks, required sections, and skill references.
Use when creating API endpoints, transforming responses with API Resources, or handling API authentication, rate limiting, or versioning.
$ npx -y skills add fusengine/agents --skill laravel-api --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/laravel-apiContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when creating API endpoints, transforming responses with API Resources, or handling API authentication, rate limiting, or versioning.
name: laravel-api description: Use when creating API endpoints, transforming responses with API Resources, or handling API authentication, rate limiting, or versioning. versions: laravel: "13.0" php: "8.3" user-invocable: true references: references/routing.md, references/controllers.md, references/middleware.md, references/requests.md, references/responses.md, references/validation.md, references/pagination.md, references/http-client.md, references/rate-limiting.md, references/redirects.md, references/urls.md, references/strings.md related-skills: laravel-auth, laravel-eloquent, laravel-testing
<objective> Covers building RESTful APIs with Laravel: API Resources for response transformation, Sanctum authentication, rate limiting, route versioning, Form Request validation, pagination (offset/cursor), and consuming external APIs via the HTTP client. For JSON:API-spec-compliant endpoints (sparse fieldsets, inclusion, links), see laravel-jsonapi instead. </objective>
Before ANY implementation, spawn 3 agents in parallel, one `Agent` call each with a `name`:
1. **fuse-ai-pilot:explore-codebase** - Analyze existing API patterns 2. **fuse-ai-pilot:research-expert** - Verify Laravel API docs via Context7 3. **mcp__context7__query-docs** - Check API Resources and Sanctum patterns
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 |
---
1. **Always use API Resources** - Never return Eloquent models directly 2. **Versioned routes** - Prefix with `/v1/`, `/v2/` 3. **Validate all input** - Use Form Requests, not inline validation 4. **Rate limiting** - Configure per-route limits 5. **Consistent responses** - Same structure, proper status codes 6. **Use services** - Keep controllers thin 7. **Eager load** - Prevent N+1 with `with()` before pagination
---
| Topic | Reference | When to consult | |-------|-----------|-----------------| | **Routing** | [routing.md](references/routing.md) | Defining versioned API routes | | **Controllers** | [controllers.md](references/controllers.md) | Controller patterns, resource methods | | **Middleware** | [middleware.md](references/middleware.md) | Route protection, request filtering | | **Validation** | [validation.md](references/validation.md) | Form Requests, validation rules |
| Topic | Reference | When to consult | |-------|-----------|-----------------| | **Requests** | [requests.md](references/requests.md) | Accessing input, files, headers | | **Responses** | [responses.md](references/responses.md) | API Resources, status codes | | **Pagination** | [pagination.md](references/pagination.md) | Offset/cursor pagination |
| Topic | Reference | When to consult | |-------|-----------|-----------------| | **Rate Limiting** | [rate-limiting.md](references/rate-limiting.md) | Throttle configuration | | **HTTP Client** | [http-client.md](references/http-client.md) | Consuming external APIs | | **URLs** | [urls.md](references/urls.md) | URL generation, signed URLs | | **Strings** | [strings.md](references/strings.md) | String helpers, UUIDs, slugs | | **Redirects** | [redirects.md](references/redirects.md) | Redirect responses |
---
| Template | Purpose | |----------|---------| | [ApiController.php.md](references/templates/ApiController.php.md) | Complete CRUD controller with service | | [api-routes.md](references/templates/api-routes.md) | Versioned routes with middleware | | [routing-examples.md](references/templates/routing-examples.md) | Detailed routing patterns |
| Template | Purpose | |----------|---------| | [FormRequest.php.md](references/templates/FormRequest.php.md) | Store/Update Form Requests | | [validation-rules.md](references/templates/validation-rules.md) | All validation rules reference | | [ApiResource.php.md](references/templates/ApiResource.php.md) | Resource with relationships |
| Template | Purpose | |----------|---------| | [HttpClientService.php.md](references/templates/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 Paginatio
A plugin ecosystem that turns Claude Code into a supervised, multi-agent development environment.
Repo: fusengine/agents
Use when creating expert agents. Generates agent.md with frontmatter, hooks, required sections, and skill references.
Use when starting ANY development task -- feature, bug fix, refactor, hotfix (triggers: implement, create, build, fix, add feature, refactor, develop).
Use when creating a feature/component or adding functionality. Fires BEFORE APEX Analyze to refine requirements via structured questioning.
Use before a root-cause, done/verified claim, irreversible action, or 2nd-time fix reaches the owner (APEX or plain conversation); also fires at every…
Use when validating code quality after modifications -- SOLID compliance, DRY duplication, linter errors, architecture violations. Do NOT use for functional…
Use when an expert agent self-reviews and self-corrects code after the Execute phase, before sniper validation (BMAD-METHOD elicitation techniques).