Read first in Laravel repos; explains runner selection (Sail vs non-Sail), core workflows, and how to apply superpowers skills in Laravel projects without platform lock-in
Scanned 6/6/2026
Install via CLI
openskills install jpcaparas/superpowers-laravel---
name: laravel:using-laravel-superpowers
description: Read first in Laravel repos; explains runner selection (Sail vs non-Sail), core workflows, and how to apply superpowers skills in Laravel projects without platform lock-in
---
# Using Superpowers in Laravel Projects
This plugin adds Laravel-aware guidance while staying platform-agnostic. It works in any Laravel app with or without Sail.
## Runner Selection (Sail or non-Sail)
Use the minimal wrapper below when running commands:
```
# Prefer Sail if available, else fall back to host
alias sail='sh $([ -f sail ] && echo sail || echo vendor/bin/sail)'
# Example (both work depending on environment)
sail artisan test # with Sail
php artisan test # without Sail
sail composer require x/y # with Sail
composer require x/y # without Sail
```
See the `laravel:runner-selection` skill for detection tips, command pairs, and safety notes.
## Core Workflows
- Test-Driven Development first: use `laravel:tdd-with-pest`
- Database changes: use `laravel:migrations-and-factories`
- Quality gates: use `laravel:quality-checks` (Pint, Insights/PHPStan)
- Queues and Horizon: use `laravel:queues-and-horizon`
- Architecture patterns: `laravel:ports-and-adapters`, `laravel:template-method-and-plugins`
- Keep complexity low: `laravel:complexity-guardrails`
## Philosophy
- Favor small, testable services; avoid fat controllers/commands/jobs
- DTOs, typed Collections, and Enums when they clarify intent
- Prefer model factories in tests and model scopes for complex queries
- Verify before completion—run tests and linters clean
Use slash commands as needed:
```
/superpowers-laravel:brainstorm
/superpowers-laravel:write-plan
/superpowers-laravel:execute-plan
```
When a Laravel skill exists for your task, use it exactly as written.
No comments yet. Be the first to comment!
Ultra-compressed commit message generator. Cuts noise from commit messages while preserving intent and reasoning. Conventional Commits format. Subject ≤50 chars, body only when "why" isn't obvious. Use when user says "write a commit", "commit message", "generate commit", "/commit", or invokes /caveman-commit. Auto-triggers when staging changes.