CtrlK
BlogDocsLog inGet started
Tessl Logo

jpa-patterns

JPA/Hibernate patterns for entity design, relationships, query optimization, transactions, auditing, indexing, pagination, and pooling in Spring Boot. Use when designing JPA entities or relationships, or when a Hibernate query, transaction, or N+1 problem needs fixing.

64

Quality

78%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/jpa-patterns/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

68%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A lean, highly actionable pattern reference with executable code for entities, repositories, transactions, pagination, and pooling, and no padding. Its main weaknesses are the absence of explicit validation/feedback loops for database operations (capping workflow clarity) and a few hint-level or bullet-only sections that stop just short of copy-paste-ready.

Suggestions

Add explicit verification steps for database changes, e.g., after applying JOIN FETCH or batch settings, re-run with `logging.level.org.hibernate.SQL=DEBUG` and confirm one query instead of N; iterate if not.

Turn the cursor-pagination hint into a short executable JPQL/repository example, and add one concrete Flyway migration snippet to the Migrations section.

Drop the closing 'Remember' summary (it duplicates earlier bullets) to reclaim tokens, or split deep tuning material (second-level caching, full HikariCP sizing) into one-level-deep reference files.

DimensionReasoningScore

Conciseness

The body is efficient: terse bullets, executable code blocks, and no explanation of concepts Claude already knows (no 'what is JPA' padding). Minor trimmable instances remain — the closing "**Remember**:" paragraph repeats points already made in Relationships and Indexing, and the two lazy-loading bullets overlap — so it sits at the 4 anchor rather than the 5 anchor where every token earns its place.

4 / 5

Actionability

Mostly executable guidance: complete entity, config, repository, projection, and service code, plus copy-paste HikariCP properties and concrete logging settings for SQL tracing. Minor gaps keep it below 5: cursor pagination is only a hint ("include `id > :lastId` in JPQL with ordering") with no code, and the Migrations and Caching sections are bullet-level direction without examples.

4 / 5

Workflow Clarity

The skill is a well-organized pattern reference rather than a sequenced workflow, and it covers database operations where the rubric requires feedback loops. The Testing section provides one implicit checkpoint (assert SQL efficiency via DEBUG/TRACE logs), but there is no explicit validate-and-fix loop (e.g., confirm the JOIN FETCH eliminated the extra queries, otherwise iterate), so it cannot exceed the 3 cap for database-operation content missing validation cycles. It is above the 2 anchor because sections are clearly delineated and a When-to-Activate list gives entry-point guidance.

3 / 5

Progressive Disclosure

With no bundle files present, the ~135-line body is self-contained under clear section headers (Entity Design, Relationships, Repository Patterns, Transactions, Pagination, Indexing, Pooling, Caching, Migrations, Testing), matching the 4 anchor (good structure, content appropriately placed, minor gaps). It falls short of the 5 anchor because the skill exceeds the under-50-line simple-skill threshold and some deeper material (full HikariCP/second-level-cache tuning, migration examples) could reasonably live in one-level-deep reference files.

4 / 5

Total

15

/

20

Passed

Description

87%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: third-person voice, concrete domain enumeration, and an explicit 'Use when...' clause with specific triggers including the natural 'N+1 problem' phrasing. Its only weakness is that the capability list is topic-heavy rather than action-verb-heavy, leaving a few natural trigger synonyms uncovered.

Suggestions

Convert some topic nouns into concrete actions (e.g., 'Design JPA entities and relationships, tune queries and connection pools') to sharpen the capability statement.

Add one or two high-frequency synonyms users say, such as 'repositories' or 'lazy loading', to broaden trigger coverage without adding length.

DimensionReasoningScore

Specificity

The description enumerates many specific coverage areas ("entity design, relationships, query optimization, transactions, auditing, indexing, pagination, and pooling") plus concrete verbs in the trigger clause ("designing JPA entities", "N+1 problem needs fixing"). It stays a notch below the 5 anchor because most of the 'what' is a topic list rather than multiple concrete actions, with minor coverage gaps (e.g., repositories, caching named only implicitly).

4 / 5

Completeness

Both parts are explicit: the 'what' is a clear, concrete capability list ("JPA/Hibernate patterns for entity design, relationships, query optimization...") and the 'when' is an explicit "Use when..." clause with concrete trigger phrases ("designing JPA entities or relationships, or when a Hibernate query, transaction, or N+1 problem needs fixing"). This matches the 5 anchor; the 4 anchor ('when' could be more explicit) does not apply since triggers are concrete and specific.

5 / 5

Trigger Term Quality

Strong natural keywords users would actually say: "JPA", "Hibernate", "Spring Boot", "entities", "relationships", "N+1", "query", "transaction". A few natural terms users might use are missing (e.g., "repository", "ORM", "HikariCP", "lazy loading"), so it fits the 4 anchor (good coverage, a few natural terms missing) rather than the comprehensive 5.

4 / 5

Distinctiveness Conflict Risk

"JPA/Hibernate ... in Spring Boot" carves out a clear niche with distinct, technology-specific triggers unlikely to fire for unrelated skills. Only minimal overlap risk with a hypothetical general 'Spring Boot' or 'database' skill, matching the 5 anchor (clear niche, minimal conflict risk).

5 / 5

Total

18

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository
affaan-m/ECC
Reviewed

Table of Contents

Is this your skill?

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.