CtrlK
BlogDocsLog inGet started
Tessl Logo

tdg-personal/kotlin-exposed-patterns

JetBrains Exposed ORM patterns including DSL queries, DAO pattern, transactions, HikariCP connection pooling, Flyway migrations, and repository pattern.

61

Quality

61%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

Quality

Discovery

64%

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

The description excels at naming specific technologies and concrete patterns, making it highly distinctive and rich in trigger terms. However, it critically lacks any 'Use when...' guidance, which means Claude has no explicit signal for when to select this skill over others. Adding trigger conditions would significantly improve its effectiveness in a multi-skill selection scenario.

Suggestions

Add a 'Use when...' clause such as 'Use when the user asks about Kotlin database access, JetBrains Exposed setup, writing DSL or DAO queries, configuring HikariCP, or setting up Flyway migrations.'

Consider mentioning 'Kotlin' explicitly as a trigger term since users working with Exposed are Kotlin developers and may phrase requests in terms of Kotlin database patterns.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions/patterns: DSL queries, DAO pattern, transactions, HikariCP connection pooling, Flyway migrations, and repository pattern. These are all concrete, identifiable capabilities.

3 / 3

Completeness

Describes 'what' (Exposed ORM patterns and specific capabilities) but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per rubric guidelines, a missing 'Use when...' clause should cap completeness at 2, and since the 'when' is entirely absent, this scores 1.

1 / 3

Trigger Term Quality

Includes strong natural keywords users would say: 'JetBrains Exposed', 'ORM', 'DSL queries', 'DAO pattern', 'transactions', 'HikariCP', 'Flyway migrations', 'repository pattern'. These are terms developers naturally use when seeking help with Kotlin/JVM database access.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive due to the specific technology stack mentioned (JetBrains Exposed, HikariCP, Flyway). This is unlikely to conflict with other database or ORM skills targeting different frameworks like Hibernate or SQLAlchemy.

3 / 3

Total

10

/

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 provides comprehensive, executable Kotlin/Exposed patterns with excellent actionability, but suffers severely from verbosity and poor progressive disclosure. It reads more like a complete reference manual dumped into a single file than a concise skill document. The content would benefit enormously from being split into a brief overview with links to detailed sub-documents, and from removing redundant examples (e.g., the HikariCP config appearing twice, DSL queries duplicated in the repository).

Suggestions

Reduce the SKILL.md to a concise overview (~100 lines) with quick-start examples for DSL, DAO, and setup, then move detailed patterns (full repository implementation, JSON columns, testing, advanced queries) into separate referenced files like QUERIES.md, REPOSITORY.md, TESTING.md.

Remove duplicate code—the HikariCP configuration appears twice, and DSL query examples are repeated nearly verbatim in the repository implementation. Show each pattern once.

Add explicit validation/verification steps: e.g., after running Flyway migrations, verify migration status; after batch inserts, verify count; include error handling guidance for common failures like constraint violations.

Cut the 'How It Works' paragraph and the 'When to Use' bullet list—Claude doesn't need to be told when to use database access patterns. Replace with a one-line purpose statement.

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~500+ lines, with massive amounts of code that largely repeat patterns Claude already knows. The HikariCP config appears twice, the DSL query examples are redundant with the repository implementation, and the full repository class could be replaced with a brief pattern + one example method. The 'How It Works' section explains basic concepts Claude understands.

1 / 3

Actionability

All code examples are fully executable Kotlin with correct Exposed API usage, including complete table definitions, CRUD operations, repository implementations, test setup, and Gradle dependencies. The examples are copy-paste ready and cover real-world patterns like JSONB columns and LIKE escaping.

3 / 3

Workflow Clarity

The Flyway migration setup shows a clear sequence (configure → migrate → connect), and the testing section shows setup/teardown. However, there are no explicit validation checkpoints for database operations, no error recovery guidance for failed migrations, and no verification steps after batch operations.

2 / 3

Progressive Disclosure

This is a monolithic wall of text with no references to external files. The entire content—table definitions, DSL queries, DAO pattern, repository implementation, JSON columns, testing, and dependencies—is all inline. Much of this should be split into separate reference files (e.g., QUERIES.md, TESTING.md, SETUP.md) with the SKILL.md serving as a concise overview.

1 / 3

Total

7

/

12

Passed

Validation

81%

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

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (720 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

9

/

11

Passed

Reviewed

Table of Contents