Skip to content
Back to skills

Artisan Commands

ASecurity

Use when creating or modifying Artisan commands. Covers clear signatures, safe execution flow, helpful output, and project conventions for console tooling.

  • 10 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added June 5, 2026
ai-agentsrustgophp

Works with

  • cursor
  • cli

Security analysis

A100/100

Scanned June 5, 2026

npx -y skills add event4u-app/agent-config --skill artisan-commands --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Artisan Commands?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Artisan Commands
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/event4u-app-artisan-commands/badge)](https://www.skillsdirectory.com/skills/event4u-app-artisan-commands)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
model_tier: medium
name: artisan-commands
description: "Use when creating or modifying Artisan commands. Covers clear signatures, safe execution flow, helpful output, and project conventions for console tooling."
domain: engineering
workspaces:
  - engineering
packs:
  - laravel
trust:
  level: professional
install:
  default: false
  removable: true
---

# 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 environment check if needed.

### Step 4: Test

- Assert exit codes, console output, side effects, option behavior.
- Use `$this->artisan()` in Pest tests.

## Conventions

→ See guideline `php/artisan-commands.md` for full conventions.

## Output format

1. Artisan command class with signature, description, and handle method
2. Registration in service provider or auto-discovery
3. Example usage shown in a code comment

## Gotcha

- `$this->info()` is suppressed in quiet mode — use `$this->line()` for critical info.
- Always add `--force` for destructive commands — never delete data without confirmation.
- Add environment checks for production commands.

## Do NOT

- Do NOT run destructive operations without `--force` confirmation.
- Do NOT use `$this->ask()` for non-interactive commands (cron/queue).
- Do NOT put business logic in commands — delegate to services.

## Auto-trigger keywords

- artisan command
- console command
- CLI command
- command signature

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.