Steve McDougall випустив api-skill — набір інструкцій для Claude Code, що втілює його авторський підхід до розробки API на Laravel 13+. Стів — відомий експерт у спільноті Laravel, тому на цей інструмент варто звернути увагу.
Ідея «скілів» (skills) полягає в тому, що після встановлення Claude Code підхоплює їх автоматично. Вам не потрібно щоразу пояснювати свої вподобання — ШІ-агент одразу працює за єдиними стандартами в усіх ваших проєктах.
Цей набір правил є доволі категоричним (opinionated). Ось основні вимоги, які він впроваджує:
- Відмова від автоінкрементних ID — обов'язкове використання
HasUlidsу кожній Model. - Заборона
paginate()на користьsimplePaginate(). - Усі помилки мають відповідати стандарту RFC 9457 Problem Details.
- Controller мають бути
finalта містити лише один метод__invoke(invokable) — жодних ресурсних контролерів чи багатофункціональних класів. - Для застарілих версій API використовується
Sunsetmiddleware (RFC 8594), що повідомляє дату видалення замість раптового вимкнення. - Routes розділені на окремі файли для кожного ресурсу в
routes/api/, без глобального префіксаapi, але з обов’язковимthrottle:apiдля кожної групи. - Аутентифікація через Sanctum зі stateless токенами. Авторизація — лише через Laravel Policies у методі
authorize()класу Form Request (ніколи не в Action). - Фонові Jobs миттєво повертають статус
202 Accepted. Синхронна обробка дозволена лише для процесів авторизації. - Глобальне налаштування
Model::shouldBeStrict(), що запобігає lazy loading та іншим помилкам при роботі з атрибутами. - Використання
declare(strict_types=1)у кожному файлі,finalдля кожного класу та оператораmatchзамість довгих тернарних конструкцій.
Встановлення виконується через git clone:
# Глобально
git clone https://github.com/juststeveking/api-skill.git ~/.claude/skills/api-skill
# На рівні проєкту
git clone https://github.com/juststeveking/api-skill.git .claude/skills/api-skill
Окрім основного зводу правил у SKILL.md, репозиторій містить references/CONVENTIONS.md із прикладами структур директорій та таблицями найменувань. Це допоможе краще зрозуміти логіку автора або створити власний «скіл» на цій базі.
Повний список правил та приклади реалізації доступні на GitHub.