| name | jvm-orchestrator |
| description | Route a JVM task to the right skill among 16 specialists โ Kotlin language/coroutines/Exposed/Ktor, Java coding standards, the Spring Boot stack (patterns, TDD, security, verification), the Quarkus stack (patterns, TDD, security, verification), JPA/Hibernate, and Compose Multiplatform UI. USE WHEN a user is building, testing, securing, or shipping a Kotlin or Java service but hasn't named the framework or the specific concern. |
| cluster | jvm |
| version | 1.0.0 |
JVM Orchestrator
The single entry skill for Kotlin/Java work on the JVM. It locates the task on the
language ร framework ร concern map and delegates to one of 16 specialist spokes. The
cross-cutting model every JVM project shares โ the language choice (Kotlin vs Java), the
framework choice (Spring Boot vs Quarkus vs Ktor), the build/test toolchain, and the
patterns โ TDD โ security โ verification lifecycle โ lives in jvm-core; read it before
picking a stack or wiring persistence.
Cluster map (spoke โ role)
Kotlin language & ecosystem
kotlin-patterns โ idiomatic Kotlin: null safety, sealed types, DSL builders, conventions.
kotlin-coroutines-flows โ structured concurrency, Flow/StateFlow operators, error handling, testing.
kotlin-exposed-patterns โ JetBrains Exposed ORM: DSL/DAO queries, transactions, HikariCP, Flyway.
kotlin-ktor-patterns โ Ktor server: routing DSL, plugins, auth, Koin DI, kotlinx.serialization, WebSockets.
kotlin-testing โ Kotest, MockK, coroutine + property-based testing, Kover coverage (TDD-first).
Java language
java-coding-standards โ naming, immutability, Optional, streams, exceptions, generics, CDI, layout.
Spring Boot stack (Java)
springboot-patterns โ architecture, REST design, layered services, data access, caching, async.
springboot-tdd โ JUnit 5, Mockito, MockMvc, Testcontainers, JaCoCo โ TDD loop.
springboot-security โ Spring Security: authn/authz, validation, CSRF, secrets, headers, rate limiting.
springboot-verification โ build โ static analysis โ tests+coverage โ security scan โ diff review.
Quarkus stack (Java)
quarkus-patterns โ Quarkus 3.x LTS architecture, Camel messaging, CDI, Panache, async/event-driven.
quarkus-tdd โ JUnit 5, Mockito, REST Assured, Camel testing, JaCoCo โ TDD loop.
quarkus-security โ JWT/OIDC, RBAC, validation, CSRF, secrets, dependency security.
quarkus-verification โ build โ static analysis โ tests+coverage โ security scan โ native compile โ diff.
Shared persistence & UI
jpa-patterns โ JPA/Hibernate entity design, relationships, query optimization, transactions, pooling.
compose-multiplatform-patterns โ Compose Multiplatform / Jetpack Compose: state, navigation, theming.
Routing rules by intent
- "Which stack / language?" unresolved โ read
jvm-core ยง1 first, then route.
- Kotlin app/service โ
kotlin-patterns (+ kotlin-coroutines-flows for async, kotlin-ktor-patterns for a server, kotlin-exposed-patterns for SQL, kotlin-testing for tests).
- Java service on Spring Boot โ
java-coding-standards + springboot-patterns; add springboot-tdd, springboot-security, springboot-verification for the lifecycle.
- Java service on Quarkus (native/event-driven) โ
java-coding-standards + quarkus-patterns; add quarkus-tdd, quarkus-security, quarkus-verification.
- Persistence with JPA/Hibernate (Spring Boot or any JPA) โ
jpa-patterns. Kotlin + Exposed instead โ kotlin-exposed-patterns.
- KMP / shared UI โ
compose-multiplatform-patterns.
- "Write the tests" / TDD โ the
*-tdd (Spring/Quarkus) or kotlin-testing spoke for the chosen stack.
- "Is it ready to ship?" โ the matching
*-verification spoke.
Standard flow
- Resolve language (Kotlin or Java) and framework (Spring Boot ยท Quarkus ยท Ktor ยท none) โ pull the decision model from
jvm-core ยง1 if unstated.
- Apply the language conventions spoke (
java-coding-standards or kotlin-patterns).
- Build the feature with the framework's
*-patterns spoke; layer persistence (jpa-patterns / kotlin-exposed-patterns) and concurrency (kotlin-coroutines-flows) as needed.
- Drive it test-first with the matching
*-tdd / kotlin-testing spoke.
- Harden with the matching
*-security spoke.
- Gate the release with the matching
*-verification spoke.
- Return: chosen language + framework, the spokes engaged, and the next action.
Guardrails
See jvm-core. In short: pick one stack per service and stay in its lane โ don't mix
Spring Boot and Quarkus patterns in one module; keep Spring Security vs Quarkus Security
advice with their own framework. Tests come first (*-tdd / kotlin-testing), security is
not optional (*-security), and nothing ships until the matching *-verification loop is
green. Keep Kotlin null-safe and Java immutable-by-default; validate every external input.
Loading spokes on demand
To keep CLI startup context lean, this cluster's spokes are not separately registered as skills โ only this orchestrator and its *-core are enumerated. When you route to a spoke named above, load it on demand by reading its file:
~/.agents/skill-clusters/skills/<spoke-name>/SKILL.md (or skills/<spoke-name>/SKILL.md inside the skill-clusters repo).