spatie-laravel-php — скилл для Claude Code: что делает
Настраивает правила кодинга Spatie и PSR-12 для задач по созданию, рефакторингу и ревью PHP-кода или шаблонов Blade в проектах на Laravel.
npx skills add spatie/guidelines-skills --skill spatie-laravel-php -a claude-codeЧто делает spatie-laravel-php
Скилл подключает набор правил Spatie для работы с кодом на PHP и Laravel. Он заставляет агента использовать строгую типизацию свойств и возвращаемых значений, короткий синтаксис nullable (?string), конструкторное продвижение свойств и ранние возвраты с паттерном «счастливый путь в конце». Для цепочек вызовов действует строгое правило: как только цепочка переносится на новую строку, каждый следующий -> тоже пишется с новой строки.
Инструкции задают структуру фреймворка: имена контроллеров во множественном числе, кортежный синтаксис маршрутов вроде [PostsController::class, 'index'], вызовы config() вместо env() вне конфигурационных файлов и правила валидации строго массивами. Скилл запрещает добавлять docblock-комментарии, если типы уже объявлены в сигнатуре, и не ставит модификаторы final или readonly по умолчанию.
Фронтенд на JS/TS, CSS, дизайн структуры базы данных и сторонние фреймворки вынесены за рамки скилла. Если правило противоречит локальным соглашениям репозитория, приоритет отдаётся базовым соглашениям Laravel для сохранения единообразия.
Какие задачи решает
- привести контроллеры и модели Laravel к единому стилю Spatie
- убрать лишние docblock-комментарии при наличии строгой типизации
- переписать цепочки условий с else на ранние возвраты
- оформить маршруты через кортежи классов контроллеров
Примеры запросов агенту
- Сделай рефакторинг PostsController.php по стандартам Spatie
- Напиши миграцию и модель Order с типизированными свойствами
- Проверь маршруты в routes/web.php на соответствие соглашениям Laravel
Как установить spatie-laravel-php
1Через Skills CLI (Vercel)
npx skills add spatie/guidelines-skills --skill spatie-laravel-php -a claude-code2Вручную: положить файлы
~/.claude/skills/spatie-laravel-php/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/spatie-laravel-php/
1Через Skills CLI (Vercel)
npx skills add spatie/guidelines-skills --skill spatie-laravel-php -a codex2Вручную: положить файлы
.agents/skills/spatie-laravel-php/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add spatie/guidelines-skills --skill spatie-laravel-php -a cursor2Вручную: положить файлы
.cursor/skills/spatie-laravel-php/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install spatie/guidelines-skills spatie-laravel-php2Вручную: положить файлы
.github/skills/spatie-laravel-php/SKILL.md1Через Skills CLI (Vercel)
npx skills add spatie/guidelines-skills --skill spatie-laravel-php -a gemini-cli2Командой платформы
gemini skills install https://github.com/spatie/guidelines-skills --path resources/boost/skills/spatie-laravel-phpВручную: положить файлы
.devin/skills/spatie-laravel-php/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add spatie/guidelines-skills --skill spatie-laravel-php -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора4
Похожие
Рядом в теме «Бэкенд и API»
Всё по теме «Бэкенд и API» →Вопросы о spatie-laravel-php
Как установить spatie-laravel-php в Claude Code?
Выполните команду npx skills add spatie/guidelines-skills --skill spatie-laravel-php -a claude-code. Также файл скилла можно разместить по пути ~/.claude/skills/spatie-laravel-php/SKILL.md.
Что делает скилл spatie-laravel-php?
Он направляет модель следовать гайдлайнам Spatie, стандартам PSR-12 и соглашениям Laravel при написании классов, маршрутов, тестов и шаблонов Blade.
Какие задачи выходят за рамки этого скилла?
Скилл не затрагивает JavaScript, TypeScript, CSS, проектирование схемы базы данных и работу с проектами вне фреймворка Laravel.
Исходный текст
SKILL.md · MIT
---
name: spatie-laravel-php
description: Apply Spatie's Laravel and PHP coding standards for any task that creates, edits, reviews, refactors, or formats Laravel/PHP code or Blade templates; use for controllers, Eloquent models, routes, config, validation, migrations, tests, and related files to align with Laravel conventions and PSR-12.
license: MIT
metadata:
author: Spatie
---
# Spatie Laravel & PHP Guidelines
## Overview
Apply Spatie's Laravel and PHP guidelines to keep code style consistent and Laravel-native.
## When to Activate
- Activate this skill for any Laravel or PHP coding work, even if the user does not explicitly mention Spatie.
- Activate this skill when asked to generate, edit, format, refactor, review, or align Laravel/PHP code.
- Activate this skill when working on `.php` or `.blade.php` files, routes, controllers, models, config, validation, migrations, or tests.
## Scope
- In scope: `.php`, `.blade.php`, Laravel conventions (routes, controllers, config, validation, migrations, tests).
- Out of scope: JS/TS, CSS, infrastructure, database schema design, non-Laravel frameworks.
## Workflow
1. Identify the artifact (controller, route, config, model, Blade, test, etc.).
2. Read `references/spatie-laravel-php-guidelines.md` and focus on the relevant sections.
3. Apply the core Laravel principle first, then PHP standards, then section-specific rules.
4. If a rule conflicts with existing project conventions, follow Laravel conventions and keep changes consistent.
## Core Rules (Summary)
- Follow Laravel conventions first.
- Follow PSR-1, PSR-2, and PSR-12.
- Prefer typed properties and explicit return types (including `void`).
- Use short nullable syntax like `?string`.
- Use constructor property promotion when all properties can be promoted.
- One trait per line with separate `use` statements.
- Once a method chain breaks across lines, put every subsequent `->` on a new line; never mix single-line and multi-line chaining.
- Prefer early returns and avoid `else` when possible.
- Always use curly braces for control structures.
- Use string interpolation over concatenation.
- Happy path last: handle error conditions first.
## Do and Don't
Do:
- Use kebab-case URLs, camelCase route names, and camelCase route parameters.
- Use tuple notation for routes: `[Controller::class, 'method']`.
- Use plural resource names for controllers (`PostsController`).
- Use array notation for validation rules.
- Use `config()` helper and avoid `env()` outside config files.
- Add service configs to `config/services.php`, not new files.
- Use `__()` for translations instead of `@lang`.
- Use PascalCase for enum values and class constants.
Don't:
- Add docblocks when full type hints already exist.
- Use fully qualified classnames in docblocks.
- Use `final` or `readonly` by default.
- Use `else` when early returns work.
- Add spaces after Blade control structures.
## Examples
```php
// Happy path last with early returns
if (! $user) {
return null;
}
if (! $user->isActive()) {
return null;
}
// Process active user...
// Short ternary
$name = $isFoo ? 'foo' : 'bar';
// Constructor property promotion
class MyClass {
public function __construct(
protected string $firstArgument,
protected string $secondArgument,
) {}
}
```
```blade
@if($condition)
Something
@endif
```
## References
- `references/spatie-laravel-php-guidelines.md`
© Spatie · MIT · spatie/guidelines-skills