jabrena/412-frameworks-quarkus-panache
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
npx skills add https://github.com/jabrena/plinth --skill 412-frameworks-quarkus-panache
Apply Panache patterns for Hibernate ORM in Quarkus.
What is covered in this Skill?
@411 for JDBC when bypassing Hibernate at the boundaryScope: Apply recommendations based on the reference rules and good/bad code examples.
Compile before persistence changes; verify after.
./mvnw compile or mvn compile before applying any change./mvnw clean verify or mvn clean verify after applying improvementsRead references/412-frameworks-quarkus-panache.md and inspect the current project setup before proposing changes.
Identify requested outcomes, constraints, and the minimum safe set of changes to apply.
Implement or refactor configuration/code following the reference patterns and project conventions.
Execute appropriate build/tests and summarize what changed, what was verified, and any follow-up actions.
For detailed guidance, examples, and constraints, see references/412-frameworks-quarkus-panache.md.
Take jabrena/412-frameworks-quarkus-panache from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.