Разработчики из Amplicode опубликовали открытый набор навыков (Skills) для ИИ-агентов, направленный на улучшение генерации кода с использованием Spring Data JPA. Skill доступен на GitHub в репозитории Amplicode/spring-skills и устанавливается через npx. Его задача — обучить агента стандартам и best practices работы с JPA, включая определение сущностей, типов полей, правил связывания, а также особенностей Lombok и генерации equals/hashcode.
Уникальность этого решения в том, что оно учитывает соглашения конкретного проекта. Skill выполняет анализ в несколько шагов, запоминает результаты и пропускает этот этап при повторных вызовах. Это критически важно для разработчиков, которые вынуждены использовать модели среднего класса — например, Claude Haiku или Sonnet — из-за корпоративных ограничений или бюджета. Авторы отмечают, что в реальной среде не всегда доступны топовые модели вроде Opus, поэтому навыки, компенсирующие недостаток знаний модели о фреймворке, становятся необходимостью.
На практике Skill показал впечатляющие результаты. В примере с генерацией сущностей ветеринарной клиники Haiku с активированным скиллом создал три связанные сущности с корректными идентификаторами (sequence per table), правильным использованием Set для коллекций, а также с параметрами cascade и orphanRemoval для агрегата «владелец». При этом equals & hashcode были сгенерированы с учётом HibernateProxy, что является сложной задачей даже для Opus 4.8. Таким образом, Skill позволяет Haiku не только догнать, но в некоторых аспектах превзойти старшую модель.
Skill особенно эффективен для моделей среднего класса (Haiku, Sonnet), поднимая их качество до уровня Opus.
Skill активируется либо явно в чате, либо включается в план при режиме планирования. Однако на моделях среднего класса автоматическое распознавание необходимости активации происходит не всегда, поэтому разработчику может потребоваться ручное указание. Установка возможна глобально для всех обнаруженных агентов (Claude Code, Codex, Gemini CLI) или выборочно. Это даёт гибкость в управлении качеством генерации в зависимости от доступных моделей и задач.



