| 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).