412-frameworks-quarkus-panache — скилл для Claude Code: доступ
Скилл для работы с Hibernate ORM Panache в Quarkus: подсказывает паттерны запросов, проекций и блокировок, проверяя сборку до и после правок.
npx skills add jabrena/plinth --skill 412-frameworks-quarkus-panache -a claude-codeЧто делает 412-frameworks-quarkus-panache
Скилл разбирает доступ к данным через Panache: active record на PanacheEntity против PanacheRepository, параметризованные JPQL-запросы с ?1 и :param, @NamedQuery для переиспользуемых запросов, проверяемых на этапе сборки. Отдельно идут проекции DTO через project(Class), пагинация Page.of(pageIndex, pageSize) вместе с query.count(), обход N+1 через JOIN FETCH и оптимистичные блокировки с @Version и обработкой OptimisticLockException.
Внутри — файл SKILL.md и справочник references/412-frameworks-quarkus-panache.md с правилами и примерами кода. Работа идёт по шагам: сначала читается справочник и осматривается проект, потом выбирается минимальный набор правок, затем они применяются и проверяются сборкой. Есть жёсткое условие: перед любой правкой нужно выполнить ./mvnw compile или mvn compile, а после — ./mvnw clean verify или mvn clean verify. Если проект не собирается, скилл останавливается и ждёт, пока ошибки компиляции исправит пользователь. Это стоит учитывать, если вы привыкли править сущности на живом проекте с падающей сборкой: здесь такой номер не пройдёт.
Затрагивает и тесты: @TestTransaction даёт автоматический откат в @QuarkusTest, а @Transactional вешается на сервисы приложения. Есть раздел про нативные запросы через Hibernate, когда нужен контролируемый SQL в той же транзакции, и про связку с @411 для JDBC в обход Hibernate.
Какие задачи решает
- выбрать между active record и репозиторием в новом сервисе
- убрать N+1 в списке сущностей через
JOIN FETCH - добавить проекции DTO, чтобы не отдавать наружу managed-сущности
- починить пагинацию с корректным подсчётом строк
- включить оптимистичную блокировку и разобраться с
OptimisticLockException
Примеры запросов агенту
- проверь мои Panache-сущности и репозитории в этом проекте
- в запросах списка заказов появился N+1 — исправь через JOIN FETCH
- добавь пагинацию и проекцию DTO в этот Panache-запрос
Как установить 412-frameworks-quarkus-panache
1Через Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 412-frameworks-quarkus-panache -a claude-code2Вручную: положить файлы
~/.claude/skills/412-frameworks-quarkus-panache/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/412-frameworks-quarkus-panache/
1Через Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 412-frameworks-quarkus-panache -a codex2Вручную: положить файлы
.agents/skills/412-frameworks-quarkus-panache/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 412-frameworks-quarkus-panache -a cursor2Вручную: положить файлы
.cursor/skills/412-frameworks-quarkus-panache/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install jabrena/plinth 412-frameworks-quarkus-panache2Вручную: положить файлы
.github/skills/412-frameworks-quarkus-panache/SKILL.md1Через Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 412-frameworks-quarkus-panache -a gemini-cli2Командой платформы
gemini skills install https://github.com/jabrena/plinth --path skills/412-frameworks-quarkus-panacheВручную: положить файлы
.devin/skills/412-frameworks-quarkus-panache/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 412-frameworks-quarkus-panache -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора40
Похожие
Рядом в теме «Бэкенд и API»
Всё по теме «Бэкенд и API» →Вопросы о 412-frameworks-quarkus-panache
Как установить 412-frameworks-quarkus-panache в Claude?
Выполните npx skills add jabrena/plinth --skill 412-frameworks-quarkus-panache -a claude-code. После этого файл скилла окажется в ~/.claude/skills/412-frameworks-quarkus-panache/SKILL.md.
Что делает 412-frameworks-quarkus-panache?
Подсказывает паттерны Hibernate ORM Panache в Quarkus: параметризованные JPQL-запросы, @NamedQuery, проекции DTO, пагинацию, JOIN FETCH против N+1 и оптимистичные блокировки через @Version.
Нужна ли рабочая сборка проекта перед запуском скилла?
Да. Скилл требует выполнить ./mvnw compile или mvn compile до правок, а после — ./mvnw clean verify или mvn clean verify. При ошибках компиляции он останавливается и ждёт, пока их исправит пользователь.
Исходный текст
SKILL.md · Apache-2.0
--- name: 412-frameworks-quarkus-panache description: Use when you need data access with Quarkus Hibernate ORM Panache — including PanacheEntity / PanacheEntityBase, PanacheRepository, named queries, JPQL, native SQL, DTO projections (project(Class)), pagination (Page.of()), N+1 avoidance (JOIN FETCH), optimistic locking (@Version / OptimisticLockException), @NamedQuery for validated reusable queries, transactions, @TestTransaction for test isolation, and immutable-friendly patterns. This is the Quarkus analogue to Spring Data for relational persistence. This should trigger for requests such as Review Panache entities or repositories in Quarkus; Improve Hibernate ORM data access with Panache; Add DTO projections, JOIN FETCH, pagination, or optimistic locking to Panache queries; Fix N+1 query problems or add @Version concurrency control in Quarkus Panache; Improve Panache active record versus repository design. Part of Plinth Toolkit license: Apache-2.0 metadata: author: Juan Antonio Breña Moral version: 0.19.0 --- # Hibernate ORM with Panache Apply Panache patterns for Hibernate ORM in Quarkus. **What is covered in this Skill?** - Active record (PanacheEntity) vs PanacheRepository — when to use each - Parameterized JPQL / Panache queries: positional (?1) and named (:param) — no unsafe concatenation - @NamedQuery on entities for reusable, build-time validated queries - DTO projections with project(Class) to avoid exposing managed entities - Pagination with Page.of(pageIndex, pageSize) and query.count() - N+1 avoidance with JOIN FETCH in JPQL queries - Optimistic locking with @Version and handling OptimisticLockException - @Transactional application services - @TestTransaction for automatic rollback in @QuarkusTest tests - Mapping entities vs exposing DTOs at REST boundaries - Native queries via Hibernate when you want controlled SQL in the same transaction; pairing with `@411` for JDBC when bypassing Hibernate at the boundary **Scope:** Apply recommendations based on the reference rules and good/bad code examples. ## Constraints Compile before persistence changes; verify after. - **MANDATORY**: Run `./mvnw compile` or `mvn compile` before applying any change - **PREREQUISITE**: Project must compile before applying Panache improvements - **SAFETY**: If compilation fails, stop immediately - **BLOCKING CONDITION**: Compilation errors must be resolved by the user before proceeding - **VERIFY**: Run `./mvnw clean verify` or `mvn clean verify` after applying improvements - **BEFORE APPLYING**: Read the reference for detailed rules and examples ## When to use this skill - Review Panache entities or repositories in Quarkus - Improve Hibernate ORM data access with Panache - Add DTO projections, JOIN FETCH, pagination, or optimistic locking to Panache queries - Fix N+1 query problems or add @Version concurrency control in Quarkus Panache - Improve Panache active record versus repository design ## Workflow 1. **Read reference and assess project context** Read `references/412-frameworks-quarkus-panache.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/412-frameworks-quarkus-panache.md](references/412-frameworks-quarkus-panache.md).
© Juan Antonio Breña Moral · Apache-2.0 · jabrena/plinth