<!-- AUTO-GENERATED from SKILL.md frontmatters — do not edit manually -->
# java Skills Index

## File Match (auto-check against the file you are editing)

| Skill | File pattern | Keywords |
| ----- | ------------ | -------- |
| **java-language** | `**/*.java`, `pom.xml`, `build.gradle` | record, sealed, switch, var, Optional, stream, VirtualThread, instanceof, text block |
| **java-testing** | `**/*Test.java`, `**/*IT.java` | @Test, @ParameterizedTest, Mockito, AssertJ, assertThat, JUnit, Testcontainers |
| java-tooling | `pom.xml`, `build.gradle`, `build.gradle.kts`, `.sdkmanrc` | mvnw, gradlew, spotbugs, checkstyle, spotless, eclipse-temurin |

## Keyword Match (only when user's request mentions these)

| Skill | Match when user mentions |
| ----- | ----------------------- |
| java-best-practices | refactor, SOLID, builder, factory, composition, immutable, Optional, checked exception, clean code |
| java-concurrency | Thread, Executor, synchronized, lock, CompletableFuture, StructuredTaskScope, VirtualThread, AtomicInteger, async, race condition |

> Load matched skills: `<SKILLS>/java/<skill>/SKILL.md`. Load ALL that match — the tier model already filters irrelevant ones.
