JetBrains Exposed ORM patterns including DSL queries, DAO pattern, transactions, HikariCP connection pooling, Flyway migrations, and repository pattern.
SkillScore100Maintained
Automatic
◆Coding pack
Last verified 8/22/2026
What it changes
Passed 22 of 22 test cases with the skill, and 16 of 22 without it.
Without skill73%
With skill100%
Checks it passed that the model alone missed
Wraps the operation inside newSuspendedTransaction.
Applies withDistinct() on the inner select statement.
Sets the HikariCP transaction isolation level to "TRANSACTION_READ_COMMITTED".
and 3 more in the full report
6 fixed16 passed either way0 still failing0 broke
Pass-rate lift
+27 pp
Tokens
+226%
Agent turns
0%
Response time
-37%
Model gemini-3.6-flashMeasured 8/22/2026v622 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 6 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 6
Prompt
We are writing a Kotlin coroutine function using Exposed DSL to update a user's email address and update the updated_at column timestamp. How do we execute an SQL UPDATE statement with matching condition and return a boolean indicating success?
What was checked, without and with the skill
Checked
Without skill
With skill
Uses Table.update with condition predicate to perform the update.
Passed
Passed
Assigns CurrentTimestampWithTimeZone to the updated_at column inside the update block.
Missed
Passed
case-19 · gemini-3.6-flash · 8/22/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md720 linessingle file
Kotlin Exposed Patterns
Comprehensive patterns for database access with JetBrains Exposed ORM, including DSL queries, DAO, transactions, and production-ready configuration.
When to Use
Setting up database access with Exposed
Writing SQL queries using Exposed DSL or DAO
Configuring connection pooling with HikariCP
Creating database migrations with Flyway
Implementing the repository pattern with Exposed
Handling JSON columns and complex queries
How It Works
Exposed provides two query styles: DSL for direct SQL-like expressions and DAO for entity lifecycle management. HikariCP manages a pool of reusable database connections configured via HikariConfig. Flyway runs versioned SQL migration scripts at startup to keep the schema in sync. All database operations run inside newSuspendedTransaction blocks for coroutine safety and atomicity. The repository pattern wraps Exposed queries behind an interface so business logic stays decoupled from the data layer and tests can use an in-memory H2 database.
suspend fun createUser(request: CreateUserRequest): User =
newSuspendedTransaction {
UserEntity.new {
name = request.name
email = request.email
role = request.role