PDX-Apps
OrganizationTeach AI coding assistants the conventions of YOUR Laravel + Vue/React project — once, then they generate code that fits. Skills + agents + patterns for Claude Code.
Categories
Indexed Skills (49)
boost-install
Use this skill when the user wants to install Laravel Boost (laravel/boost) in a Laravel project — the MCP server that gives AI agents direct Laravel tooling like database-schema, tinker, list-routes, and search-docs. Triggers on "/boost-install", "install laravel boost", "set up boost mcp", "add the laravel mcp server", "give claude database access for this project". Walks through composer install + php artisan boost:install + verifies MCP registration, with user permission at each step.
bench-init
First-run setup that tailors Bench to THIS project. Walks the essential concerns (auth, test framework, permissions, response shape, layout, + any addon concerns) via a guided interview, then offers to scan for any other deviations and to build slices for your domains. Use on "/bench-init", "set up Bench for this project", "tailor Bench to my codebase", "initialize Bench". Does NOT write your CLAUDE.md.
bench-list
Discover what's available in Bench — patterns, skills, agents — both bundled defaults and project-local overrides under ./.bench/. Use on "/bench-list", "what patterns are there", "show me the skills", "list bench agents", "what can I customize", "what's bundled". Pairs with /bench-show to view an item's body.
bench-override
Change a Bench default for THIS project — override a pattern (how code is generated), a skill (how a slash command behaves), or an agent (how a worker runs). Use when the user says "I don't use DTOs", "override the controller pattern to use cache()", "we wrap responses in an ApiResponse envelope", "make /controller default to invokable", "drop the test step from /resource", "the migration worker should run a different formatter", "I prefer global helpers over DI", or any "change how Bench does X" request. Writes an append/anchor/ replace contribution under ./.bench/ (never touches Bench core).
bench-show
View the full content of a Bench pattern, skill, or agent — usually before deciding to override it. Use on "/bench-show", "show me the controller pattern", "what's in /laravel", "view the vue-store skill", "open the migration agent". Pairs with /bench-list for discovery.
bench-slice
Teach Bench one of YOUR domains so it generates that proprietary code as cleanly as core Laravel — builds a full skill→agent→pattern slice for a domain you point at. Use when the user says "make a slice for app/Reports", "teach Bench my Reports domain", "I want a /report command that scaffolds reports like core does controllers", "build a skill+agent+pattern for our Sagas", or "scaffold Bench support for app/{Domain}". Writes the triple under ./.bench/ (skill + paired agent + the domain pattern).
blade
Build Laravel Blade UI — components, layouts, forms, and full page views for server-rendered (non-SPA) apps. Use on "/blade", "make a Blade component/page", "build the orders index view", "add a Blade form". Routes to the blade-component / blade-page agents.
cashier
Wire Laravel Cashier (Stripe billing) into a project — make a model Billable, build subscription flows (create/trial/swap/cancel/status), single charges, invoices, or webhook handling. Use when the user mentions Cashier, Stripe subscriptions, billing plans, trials, invoices, or charging customers.
docs
Generate or refresh project documentation from the code — an ADR, a README section, or API docs grounded in the actual files. Use on "/docs", "document this module", "write an ADR for…", "update the README for this feature", "refresh the API docs". Scans the code first, then writes.
e2e-run
Exercise a user flow in a LIVE browser via the Chrome MCP and report whether it works — no test file written. Use on "/e2e-run", "click through the checkout flow and tell me if it works", "drive the browser and verify this journey", "exploratory run-through". For WRITING Playwright .spec files, use bench-playwright's /e2e instead.
filament-resource
Generate a Filament 3 admin-panel Resource (form schema + table) for a model. Use when the user mentions Filament, an admin panel / back-office CRUD, a Filament resource, a Filament form or table, filters, or a relation manager.
inertia
Build an Inertia.js page end-to-end — the Laravel controller (Inertia::render) plus the Vue/React page component and its form. Use on "/inertia", "make an Inertia page for orders", "wire this controller to an Inertia page". Spans backend + frontend.
module
Scaffold a new nwidart/laravel-modules module (Modules/{Module}/...). Use when the user wants to create a module, add a bounded context, or organize a feature under Modules/ with its own controllers/models/routes/providers.
repository
Generate a repository (interface + Eloquent implementation + container binding) for a model. Use when the user mentions the repository pattern, a {Model}Repository, depending on a data-access abstraction, or wants Eloquent queries hidden behind an interface.
livewire
Generate a Livewire 3 component (class-based or Volt) for server-rendered reactive UI in Laravel. Use when the user mentions Livewire, a wire:model form, a reactive Blade component, a Form object, file uploads in Livewire, or a Volt single-file component.
bench-configure
Run Bench's guided concern setup — interview the user about essential project concerns (auth, test framework, permissions, response shape, layout, and any addon concerns) and write the matching .bench/ overrides/config. Use on "/bench-configure", "set up auth/permissions/CI for Bench", "configure a concern", or to (re)configure a specific concern.
plan
Turn a ticket / PRD / feature description into a technical plan the implement workflow can execute. Use on "/plan", "plan this feature", "make a technical plan for…", "turn this ticket into a plan". Researches the codebase first, then writes the plan.
e2e
Generate Playwright end-to-end tests for a user flow (auth, CRUD journey, critical path) across a real browser. Use when the user wants an e2e test, a flow/journey test, or browser automation tests.
quality
Run the quality pipeline before pushing — code review of the changes, the CI gate, and optionally e2e — and report go/no-go. Use on "/quality", "review before I push", "is this ready to ship", "run the quality checks".
scout
Add Laravel Scout full-text search to a project — make a model Searchable, define toSearchableArray, configure the index/driver, and build search endpoints with filtering & pagination. Use when the user mentions Scout, full-text search, Algolia, Meilisearch, Typesense, or making a model searchable.
socialite
Scaffold Laravel Socialite OAuth social login (redirect + callback controller and routes) for a provider. Use when the user mentions Socialite, OAuth login, "sign in with Google/GitHub", social login, or linking a social account.
ai-agent
Generate a Laravel AI Agent class (laravel/ai) — instructions, provider/model attributes, optional structured output, conversation memory, tools. Use when the user wants an AI agent, assistant, LLM-backed feature, structured extraction, or a chat/coach/summarizer.
ai-tool
Generate a Laravel AI Tool class (laravel/ai) for function-calling — description, typed parameter schema, handle(). Use when the user wants to give an AI agent a capability/tool, function calling, or external data access.
ci
Run the project's quality gate — format, static analysis, and tests — and report failures cleanly. Use to verify a change before committing, "run CI", "check this passes", or as a final gate after generating code.
query-builder
Generate a custom Laravel Eloquent query builder class (extends Builder<Model>). Use when the user mentions a query builder, reusable query scopes, chainable query methods, or wants to extract complex queries out of controllers/models.
swagger
Add OpenAPI/Swagger annotations to Laravel models, form requests, API resources, and controllers via
bug-fix
Diagnose and fix a bug test-first (reproduce with a failing test, fix, verify). Use when something is broken, throwing, or behaving incorrectly — "fix the bug where…", "X is returning the wrong…", "this throws when…".
action
Generate a Laravel Action class — a single-purpose business operation with one `execute()` method and side effects (persistence, event dispatch, notifications). Use whenever the user describes a business operation like "create X", "send Y", "process Z", "mark W". For utility/calculator/parser classes use /service instead.
auth
Configure Laravel framework-level auth — install/configure Sanctum, Fortify, Breeze, web/session auth wiring, guard configuration. Rare. Most authorization work is policies (use /policy instead).
cast
Generate Laravel custom Eloquent attribute casts. Use whenever the user mentions a custom cast, value object → DB column transformation (like Money, Address, Settings), JSON column casting, or needs typed access to a complex column attribute in a Laravel project.
console
Generate Laravel artisan console commands. Use whenever the user mentions a CLI command, scheduled task, cron job, console command, artisan command, or any code that should run from the terminal in a Laravel project, even if they don't explicitly say "console".
controller
Generate a single Laravel controller — resource (CRUD), invokable (single action), or grouped (related non-CRUD actions). Use whenever the user wants ONLY a controller (not the full HTTP stack). For full HTTP layer (controller+request+resource+route), use /laravel instead.
enum
Generate a PHP 8.1 backed enum for status/type/mode fields. Use whenever the user mentions an enum, status type, role enum, or wants type-safe alternatives to string constants in a Laravel project.
event
Generate a Laravel domain event class. Use whenever the user describes something important happening in the domain that should be announced for other parts of the system to react to — "when X happens" / "emit an event when…" — or mentions events, broadcasting, or pub/sub in a Laravel project. For the code that reacts to an event, use /listener.
exception
Generate Laravel domain exception classes. Use whenever the user mentions a custom exception, error class, throwable, domain error (like "OrderAlreadyShipped", "InsufficientStock"), or needs to model a business-rule violation as a typed exception in a Laravel project.
factory
Generate a Laravel model factory (database/factories/{Model}Factory.php). Use when the user wants ONLY a factory.
feature-test
Generate a Laravel feature test (HTTP/end-to-end). Use for testing endpoints, controllers, full request→response flows. For isolated logic tests, use /unit-test.
job
Generate Laravel queued Jobs (background work, async processing, deferred tasks). Use whenever the user mentions a queued job, background task, async operation, batch processing, dispatching work to a queue, or anything that should run outside the request cycle in a Laravel project.
listener
Generate ONE Laravel event listener (sync or queued). Use when adding a listener that reacts to an event. For events themselves, use /event.
middleware
Generate Laravel HTTP middleware classes. Use whenever the user mentions middleware, request filters, request/response interception, throttling logic, custom auth checks at the HTTP layer, or anything that should run before/after controllers in a Laravel project.
migration
Generate a Laravel migration file (create table or modify schema). Use when the user wants ONLY a migration. For factories or seeders, invoke /factory or /seeder.
model
Generate Laravel Eloquent models, query builders, model traits, and enums for status/type fields. Use whenever the user mentions a model, entity, database record, Eloquent class, query scope, or domain object with state/behavior in a Laravel project.
phpdoc
Add or update PHPDoc blocks on Laravel classes/methods. Use when the user mentions documenting code, adding doc blocks, type annotations, or @throws/@param/@return tags.
policy
Generate ONE Laravel authorization Policy class for a model. Use whenever the user mentions permissions, policies, "who can X", access control on a specific model.
provider
Generate or modify Laravel service providers (bindings, EventServiceProvider, RouteServiceProvider, custom providers). Use whenever the user mentions a service provider, container binding, singleton, boot logic, route registration, or wants to wire something up at the framework level in a Laravel project.
request
Generate a Laravel FormRequest class for input validation. Use when the user wants ONLY a FormRequest (not the full HTTP stack). For full HTTP layer (controller+request+resource+route), use /laravel instead.
resource
Generate a Laravel API Resource (JsonResource transformer). Use when the user wants ONLY a Resource (not the full HTTP stack). For full HTTP layer, use /laravel instead.
route
Add a Laravel route to routes/api.php or routes/web.php. Use when the user wants ONLY route registration. For a complete HTTP feature (controller+request+resource+route), use /laravel instead.
bench-status
Synthesized status of the Bench install — versions, addons, project-local overrides, version drift, suggested next steps. Use on "/bench-status", "is bench set up correctly", "what's the state of bench", "did anything drift", "bench health check". A friendly wrapper around `bench status` that surfaces anomalies in plain language. Read-only.
Bio shown is the top-scored skill's repo description as a fallback — real GitHub bios land in a future update.