CtrlK
BlogDocsLog inGet started
Tessl Logo

311-frameworks-spring-jdbc

Use when you need to write or review programmatic JDBC with Spring — including JdbcClient (Spring Framework 6.1+) as the default API, JdbcTemplate only where batch/streaming APIs require JdbcOperations, NamedParameterJdbcTemplate for legacy named-param code, parameterized SQL, RowMapper mapping to records, batch operations, transactions, safe handling of generated keys, DataAccessException handling, read-only transactions, streaming large result sets, and @JdbcTest slice testing. Part of the skills-for-java project

77

Quality

71%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/311-frameworks-spring-jdbc/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

100%

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 that clearly defines both what it does and when to use it, with extensive specific trigger terms covering the Spring JDBC domain. The explicit 'Use when' clause at the beginning and the comprehensive list of concrete capabilities make it highly effective for skill selection. The only minor weakness is that it uses second person ('you need to') rather than third person voice, though this is in the 'Use when' clause which is a common pattern.

DimensionReasoningScore

Specificity

The description lists numerous specific concrete actions and concepts: JdbcClient, JdbcTemplate, NamedParameterJdbcTemplate, parameterized SQL, RowMapper mapping to records, batch operations, transactions, generated keys handling, DataAccessException handling, read-only transactions, streaming large result sets, and @JdbcTest slice testing.

3 / 3

Completeness

The description explicitly starts with 'Use when you need to write or review programmatic JDBC with Spring' which clearly answers the 'when' question, and the extensive list of capabilities answers the 'what' question thoroughly.

3 / 3

Trigger Term Quality

Includes many natural keywords a developer would use: 'JDBC', 'Spring', 'JdbcClient', 'JdbcTemplate', 'NamedParameterJdbcTemplate', 'RowMapper', 'batch operations', 'transactions', 'streaming', '@JdbcTest', 'parameterized SQL', 'generated keys'. These cover a wide range of terms a user working with Spring JDBC would naturally mention.

3 / 3

Distinctiveness Conflict Risk

The description is highly specific to Spring JDBC (not Spring Data JPA, not Hibernate, not generic SQL). The mention of specific APIs like JdbcClient, JdbcTemplate, and Spring-specific annotations like @JdbcTest creates a clear niche that is unlikely to conflict with other skills.

3 / 3

Total

12

/

12

Passed

Implementation

42%

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

The skill has good structure and progressive disclosure, correctly deferring detailed content to a reference file. However, it critically lacks any concrete code examples in the SKILL.md itself — no JdbcClient snippet, no RowMapper example, no before/after pattern — making it essentially a table of contents rather than an actionable skill. The 'What is covered' section is verbose relative to the value it provides.

Suggestions

Add at least 2-3 concrete, executable code examples directly in SKILL.md showing the most important patterns (e.g., JdbcClient query with named params, RowMapper to record, and a bad-vs-good SQL injection example)

Replace the 'What is covered' bullet list with a shorter summary or remove it entirely — the reference file link and section headers can convey scope more efficiently

Add an explicit feedback loop in the constraints/workflow: what to do when `mvn clean verify` fails (e.g., read error output, fix issues, re-run verify)

Include a minimal 'quick start' section showing the canonical JdbcClient pattern so Claude has an immediately actionable template without needing to open the reference

DimensionReasoningScore

Conciseness

The skill has a lengthy 'What is covered' bullet list that largely restates the description and reference file contents. The table-of-contents style enumeration adds tokens without adding actionable value — Claude could discover these from the reference. However, the constraints section is reasonably tight.

2 / 3

Actionability

There are no concrete code examples, no executable commands beyond generic Maven invocations, and no specific patterns or snippets showing correct JdbcClient usage. The skill describes what to do ('use bind parameters', 'use JdbcClient fluent API') but never shows how with actual code. All real guidance is deferred to the reference file.

1 / 3

Workflow Clarity

The constraints section provides a clear compile-before/verify-after sequence with a stop-on-failure checkpoint, which is good. However, there's no explicit feedback loop for what to do if verification fails, and the workflow for actually applying changes (read reference → identify issues → fix → verify) is only implicit.

2 / 3

Progressive Disclosure

The skill is structured as a concise overview that clearly points to a single reference file for detailed rules and examples. The reference link is well-signaled, one level deep, and the SKILL.md appropriately avoids inlining the full reference content.

3 / 3

Total

8

/

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.

Validation11 / 11 Passed

Validation for skill structure

No warnings or errors.

Repository
jabrena/cursor-rules-java
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.