312-frameworks-spring-data-jdbc — скилл для Claude Code: Spring Data
Скилл для работы с Spring Data JDBC на Java records: сущности, репозитории, границы агрегатов, транзакции и борьба с N+1.
npx skills add jabrena/plinth --skill 312-frameworks-spring-data-jdbc -a claude-codeЧто делает 312-frameworks-spring-data-jdbc
Скилл задаёт правила, по которым агент правит код на Spring Data JDBC. Внутри — работа с records как сущностями, аннотации @Table и @Embedded, паттерн репозитория, неизменяемые обновления через статические фабрики и хелперы with*. Отдельно разобрана семантика save(): INSERT или UPDATE зависит от того, пустой ли @Id.
Есть раздел про границы агрегатов: один репозиторий на корень агрегата, Set для связей внутри корня, внешние ключи между агрегатами. Плюс кастомные запросы через @Query с именованными параметрами, @Transactional на сервисах и загрузка одним запросом вместо N+1.
Перед любыми правками скилл требует, чтобы проект собирался: сначала ./mvnw compile или mvn compile, и если компиляция падает — работа останавливается. После изменений прогоняется ./mvnw clean verify или mvn clean verify. Это значит, что на сломанной сборке агент ничего не тронет, и вам не придётся разгребать правки поверх ошибок. Если задача сформулирована расплывчато, скилл останавливается и задаёт уточняющий вопрос.
Какие задачи решает
- переписать сущности на Java records
- разложить агрегаты и репозитории по границам
- убрать N+1 при загрузке связей
- добавить оптимистичную блокировку и доменные события
- проверить кастомные запросы на конкатенацию пользовательского ввода
Примеры запросов агенту
- Проверь этот код на Spring Data JDBC и предложи правки по границам агрегатов
- Смоделируй агрегат на Java records и покажи, как обновлять его через with*-хелперы
- Найди в репозиториях места, где связи грузятся по одной, и убери N+1
Как установить 312-frameworks-spring-data-jdbc
1Через Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 312-frameworks-spring-data-jdbc -a claude-code2Вручную: положить файлы
~/.claude/skills/312-frameworks-spring-data-jdbc/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/312-frameworks-spring-data-jdbc/
1Через Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 312-frameworks-spring-data-jdbc -a codex2Вручную: положить файлы
.agents/skills/312-frameworks-spring-data-jdbc/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 312-frameworks-spring-data-jdbc -a cursor2Вручную: положить файлы
.cursor/skills/312-frameworks-spring-data-jdbc/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install jabrena/plinth 312-frameworks-spring-data-jdbc2Вручную: положить файлы
.github/skills/312-frameworks-spring-data-jdbc/SKILL.md1Через Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 312-frameworks-spring-data-jdbc -a gemini-cli2Командой платформы
gemini skills install https://github.com/jabrena/plinth --path skills/312-frameworks-spring-data-jdbcВручную: положить файлы
.devin/skills/312-frameworks-spring-data-jdbc/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 312-frameworks-spring-data-jdbc -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о 312-frameworks-spring-data-jdbc
Как установить 312-frameworks-spring-data-jdbc в Claude?
Выполните npx skills add jabrena/plinth --skill 312-frameworks-spring-data-jdbc -a claude-code. Скилл окажется в ~/.claude/skills/312-frameworks-spring-data-jdbc/SKILL.md.
Что делает 312-frameworks-spring-data-jdbc?
Применяет правила Spring Data JDBC к коду на Java records: сущности, репозитории, неизменяемые обновления, границы агрегатов, транзакции и загрузку без N+1.
Что нужно, чтобы скилл сработал?
Проект должен компилироваться: скилл сначала запускает ./mvnw compile или mvn compile и при ошибке останавливается. После правок он прогоняет ./mvnw clean verify или mvn clean verify.
Исходный текст
SKILL.md · Apache-2.0
--- name: 312-frameworks-spring-data-jdbc description: Use when you need to use Spring Data JDBC with Java records — including entity design with records, repository pattern, immutable updates, aggregate relationships, custom queries, transaction management, and avoiding N+1 problems. This should trigger for requests such as Review Java code for Spring Data JDBC; Apply best practices for Spring Data JDBC in Java code; Model Spring Data JDBC aggregates with Java records; Review Spring Data JDBC repositories and aggregate boundaries; Improve optimistic locking or domain events in Spring Data JDBC. Part of Plinth Toolkit license: Apache-2.0 metadata: author: Juan Antonio Breña Moral version: 0.19.0 --- # Spring Data JDBC with Records Apply Spring Data JDBC guidelines with Java records. **What is covered in this Skill?** - Records for entity classes (immutable, constructor-friendly) - @Table for naming when record name differs from the table name - @Embedded to inline value-object columns into the parent row without a separate table - Repository pattern - Immutable updates with static factories for new rows and with* helpers for updates - save() INSERT vs UPDATE semantics driven by @Id nullability - Aggregate boundaries: one repository per aggregate root, Set for one-to-many inside the root, foreign keys between aggregates - Custom queries with @Query and named parameters (no user-input concatenation) - Transaction management (@Transactional on services; readOnly where appropriate) - Single query loading (N+1 avoidance) **Scope:** Apply recommendations based on the reference rules and good/bad code examples. ## Constraints Before applying any Spring Data JDBC changes, ensure the project compiles. If compilation fails, stop immediately. After applying improvements, run full verification. - **MANDATORY**: Run `./mvnw compile` or `mvn compile` before applying any change - **SAFETY**: If compilation fails, stop immediately - **VERIFY**: Run `./mvnw clean verify` or `mvn clean verify` after applying improvements - **BEFORE APPLYING**: Read the reference for detailed rules and good/bad patterns - **EDGE CASE**: If request scope is ambiguous, stop and ask a clarifying question before applying changes - **EDGE CASE**: If required inputs, files, or tooling are missing, report what is missing and ask whether to proceed with setup guidance ## When to use this skill - Review Java code for Spring Data JDBC - Apply best practices for Spring Data JDBC in Java code - Model Spring Data JDBC aggregates with Java records - Review Spring Data JDBC repositories and aggregate boundaries - Improve optimistic locking or domain events in Spring Data JDBC ## Workflow 1. **Read reference and assess project context** Read `references/312-frameworks-spring-data-jdbc.md` and inspect the current project setup before proposing changes. 2. **Gather scope and decide target improvements** Identify requested outcomes, constraints, and the minimum safe set of changes to apply. 3. **Apply framework-aligned changes** Implement or refactor configuration/code following the reference patterns and project conventions. 4. **Run verification and report results** Execute appropriate build/tests and summarize what changed, what was verified, and any follow-up actions. ## Reference For detailed guidance, examples, and constraints, see [references/312-frameworks-spring-data-jdbc.md](references/312-frameworks-spring-data-jdbc.md).
© Juan Antonio Breña Moral · Apache-2.0 · jabrena/plinth