Training skill that generates and validates the java25-coding-conventions skill. Run this skill to regenerate the conventions from reference material and verify them against test cases. Use when updating or re-tuning Java 25 coding conventions.
This skill regenerates the java25-coding-conventions skill from reference material and validates it against test cases.
A SKILL.md at plugins/conventions/skills/java25-coding-conventions/SKILL.md that teaches Claude to write and review modern Java 25 code. This skill layers Java 25-specific conventions on top of the general java-coding-conventions skill.
Read references/conventions.md for the Java 25-specific conventions. Then write the output skill:
plugins/conventions/skills/java25-coding-conventions/SKILL.mdjava25-coding-conventions, user-invocable: false, model: haiku-4.5plugins/conventions/skills/java-coding-conventions/SKILL.mdKey things the skill must make very clear:
List.copyOf / List.of instead of Collections.unmodifiable*final var (never bare var)Stream.toList() instead of Collectors.toList()After regenerating, validate the skill using the test cases in evals/evals.json.
For each test case, spawn a subagent that:
plugins/conventions/skills/java-coding-conventions/SKILL.mdplugins/conventions/skills/java25-coding-conventions/SKILL.mdThen run the shared grading script against the outputs:
cd plugins/training
python -m shared.grade <workspace-dir>
The script checks Java 25-specific assertions:
Plus general assertions (final vars, immutable fields, small methods, etc.).
All assertions should pass for all test cases. If any fail, the conventions in the skill need strengthening in that area.
The test cases in evals/evals.json cover:
Input files for refactoring tests are in evals/files/.
The authoritative conventions are in references/conventions.md. Always read that file when regenerating — it is the single source of truth for what Java 25-specific rules to include.