← ClaudeAtlas

artisan-commandslisted

Use when creating or modifying Artisan commands. Covers clear signatures, safe execution flow, helpful output, and project conventions for console tooling.
event4u-app/agent-config · ★ 7 · AI & Automation · score 84
Install: claude install-skill event4u-app/agent-config
# artisan-commands ## When to use Use when creating or modifying Laravel Artisan commands — maintenance scripts, imports/exports, batch processing, repair/cleanup, scheduled tasks, developer utilities. Do NOT use when: - Writing queue jobs (use `jobs-events` skill) - Writing scheduled task config (use `laravel-scheduling` skill) ## Procedure: Create an Artisan command ### Step 0: Inspect 1. Check existing commands — match naming, signature style, output format. 2. Determine audience: developer, support, operations, cron, or scheduler. 3. Determine if interactive or automated. 4. Identify related services — commands orchestrate, not own business logic. ### Step 1: Scaffold 1. Create command class in `app/Console/Commands/` or module `App/Commands/`. 2. Name: `{domain}:{action}` — e.g. `users:cleanup`, `orders:sync`. 3. Define arguments (required) and options (toggles/filters) explicitly. ### Step 2: Implement handle() 1. Validate preconditions (environment, input, dependencies). 2. Call service/action for business logic. 3. Report progress and results via console output. 4. Return appropriate exit code. ### Step 3: Safety checks - Destructive? → Add `--force` flag + confirmation. - Scheduled? → Ensure non-interactive, idempotent, loud failures. - Long-running? → Use chunking/cursors, progress bar. - Production? → Add env check if needed. ### Step 4: Test - Assert exit codes, console output, side effects, option behavior. - Use `$this->artisan()` in Pest tests. #