JPA/Hibernate patterns and common pitfalls (N+1, lazy loading, transactions, queries). Use when user has JPA performance issues, LazyInitializationException, or asks about entity relationships and fetching strategies.
82
77%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./.claude/skills/jpa-patterns/SKILL.mdQuality
Discovery
89%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong skill description with excellent trigger terms and completeness. Its main weakness is that it describes topic areas rather than concrete actions—it says 'patterns and common pitfalls' rather than listing specific things it does (e.g., 'diagnose', 'resolve', 'optimize'). The explicit 'Use when' clause with specific error names and concepts makes it highly effective for skill selection.
Suggestions
Reframe the 'what' portion with concrete action verbs, e.g., 'Diagnoses and resolves JPA/Hibernate issues including N+1 queries, lazy loading errors, transaction management, and query optimization' instead of 'patterns and common pitfalls'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (JPA/Hibernate) and mentions specific concepts (N+1, lazy loading, transactions, queries), but these are more like topic areas than concrete actions. It doesn't list specific actions like 'diagnose N+1 queries', 'configure fetch strategies', or 'resolve LazyInitializationException'. | 2 / 3 |
Completeness | Clearly answers both 'what' (JPA/Hibernate patterns and common pitfalls including N+1, lazy loading, transactions, queries) and 'when' (explicit 'Use when' clause covering performance issues, LazyInitializationException, entity relationships, and fetching strategies). | 3 / 3 |
Trigger Term Quality | Includes excellent natural trigger terms that users would actually say: 'JPA', 'Hibernate', 'N+1', 'lazy loading', 'LazyInitializationException', 'entity relationships', 'fetching strategies', 'JPA performance issues'. These cover common variations of how developers describe these problems. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with a clear niche in JPA/Hibernate specifically. The trigger terms like 'LazyInitializationException', 'N+1', and 'fetching strategies' are very specific to this domain and unlikely to conflict with other skills. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid, actionable JPA skill with excellent concrete code examples covering the most common pitfalls. Its main weaknesses are the lack of explicit verification workflows (e.g., 'apply fix → re-run with SQL logging → confirm single query') and the monolithic structure that could benefit from splitting advanced topics into separate referenced files. The content is also truncated, suggesting it's trying to cover too much in one file.
Suggestions
Add a verification workflow after each fix pattern: e.g., 'After applying JOIN FETCH, enable SQL logging (see Detecting N+1 section) and confirm only 1 SELECT is executed'
Split into SKILL.md (quick reference table + N+1 basics) with references to separate files like LAZY_LOADING.md, TRANSACTION_PATTERNS.md, and QUERY_OPTIMIZATION.md
Remove mild editorial commentary like '> The #1 JPA performance killer' and '// This innocent code...' to improve token efficiency
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is mostly efficient with good use of tables and code examples, but includes some unnecessary commentary (e.g., '> The #1 JPA performance killer', explanatory comments like '// This innocent code...') and could be tightened. The 'When to Use' section is somewhat redundant given the skill description. | 2 / 3 |
Actionability | Provides fully executable Java code examples, specific annotations, YAML configuration snippets, and concrete repository interface patterns. Every solution is copy-paste ready with real class definitions and query syntax. | 3 / 3 |
Workflow Clarity | The problem-solution pairs are clearly structured, and the quick reference table provides good navigation. However, there are no explicit validation/verification steps (e.g., how to confirm N+1 is resolved after applying a fix), and the 'Detecting N+1' section is disconnected from the fix workflow rather than integrated as a verification checkpoint. | 2 / 3 |
Progressive Disclosure | Content is well-sectioned with headers and a quick reference table, but it's becoming a long monolithic file. Topics like batch fetching configuration, entity graph patterns, and transaction management could be split into referenced files. The content also appears truncated, suggesting it may be too large for a single skill file. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
d87e7a3
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.