Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when you need to review, improve, or refactor Java code for type design quality — including establishing clear type hierarchies, applying consistent naming conventions, eliminating primitive obsession with domain-specific value objects, leveraging generic type parameters, creating type-safe wrappers, designing fluent interfaces, ensuring precision-appropriate numeric types (BigDecimal for financial calculations), and improving type contrast through interfaces and method signature alignment.
.claude/skills/jabrena-122-java-type-design/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✓→✓ | = Same ✓ | -34% | 0% |
| case-05 | ✓→✓ | = Same ✓ | -23% | 0% |
| case-07 | ✓→✓ | = Same ✓ | 15% | 0% |
| case-08 | ✓→✓ | = Same ✓ | 48% | 0% |
| case-09 | ✓→✓ | = Same ✓ | -7% | 0% |
Review and improve Java code using comprehensive type design principles that apply typography concepts to code structure and organization for maximum clarity and maintainability.
What is covered in this Skill?
Scope: The reference is organized by examples (good/bad code patterns) for each core area. Apply recommendations based on applicable examples.
Before applying any type design changes, ensure the project compiles. If compilation fails, stop immediately — do not proceed until resolved. After applying improvements, run full verification.
./mvnw compile or mvn compile before applying any change./mvnw clean verify or mvn clean verify after applying improvementsRun ./mvnw compile or mvn compile and stop immediately if compilation fails.
Read references/122-java-type-design.md and identify type hierarchy, naming, and value-object improvements.
Implement selected type-safety and readability improvements based on applicable patterns.
Run ./mvnw clean verify or mvn clean verify after applying improvements.
For detailed guidance, examples, and constraints, see references/122-java-type-design.md.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-06 | pass→pass | 11,279 | 3,349 | -70% | 1 | 1 | 0% | 1,832 | 1,202 | -34% | 0 | 0 | — |
case-01 | fail→fail | 14,333 | 5,082 | -65% | 1 | 1 | 0% | 2,706 | 883 | -67% | 0 | 0 | — |
case-02 | fail→fail | 19,771 | 3,038 | -85% | 1 | 1 | 0% | 3,687 | 973 | -74% | 0 | 0 | — |
case-03 | fail→fail | 18,670 | 5,681 | -70% | 1 | 1 | 0% | 3,154 | 952 | -70% | 0 | 0 | — |
case-04 | fail→fail | 9,480 | 5,235 | -45% | 1 | 1 | 0% | 1,670 | 881 | -47% | 0 | 0 | — |
case-05 | pass→pass | 9,177 | 2,388 | -74% | 1 | 1 | 0% | 1,252 | 961 | -23% | 0 | 0 | — |
case-07 | pass→pass | 10,185 | 7,117 | -30% | 1 | 1 | 0% | 1,523 | 1,757 | +15% | 0 | 0 | — |
case-08 | pass→pass | 8,345 | 7,224 | -13% | 1 | 1 | 0% | 1,238 | 1,835 | +48% | 0 | 0 | — |
case-09 | pass→pass | 13,783 | 9,533 | -31% | 1 | 1 | 0% | 2,345 | 2,179 | -7% | 0 | 0 | — |
case-10 | pass→pass | 9,109 | 5,796 | -36% | 1 | 1 | 0% | 1,351 | 1,450 | +7% | 0 | 0 | — |
case-11 | pass→pass | 4,121 | 5,747 | +39% | 1 | 1 | 0% | 565 | 1,441 | +155% | 0 | 0 | — |
case-12 | pass→pass | 5,950 | 5,658 | -5% | 1 | 1 | 0% | 926 | 1,445 | +56% | 0 | 0 | — |
case-13 | pass→pass | 4,249 | 5,046 | +19% | 1 | 1 | 0% | 708 | 1,355 | +91% | 0 | 0 | — |
case-14 | pass→pass | 15,874 | 9,667 | -39% | 1 | 1 | 0% | 2,432 | 1,932 | -21% | 0 | 0 | — |
case-15 | pass→pass | 19,094 | 11,419 | -40% | 1 | 1 | 0% | 3,102 | 2,503 | -19% | 0 | 0 | — |
case-16 | pass→pass | 9,106 | 10,550 | +16% | 1 | 1 | 0% | 1,533 | 2,583 | +68% | 0 | 0 | — |
case-17 | pass→pass | 14,416 | 7,807 | -46% | 1 | 1 | 0% | 2,160 | 1,637 | -24% | 0 | 0 | — |
case-18 | pass→pass | 7,204 | 5,316 | -26% | 1 | 1 | 0% | 1,181 | 1,432 | +21% | 0 | 0 | — |
case-19 | pass→pass | 11,764 | 10,114 | -14% | 1 | 1 | 0% | 1,897 | 1,861 | -2% | 0 | 0 | — |
case-20 | pass→pass | 6,464 | 7,005 | +8% | 1 | 1 | 0% | 1,106 | 1,831 | +66% | 0 | 0 | — |
case-21 | pass→pass | 15,597 | 10,545 | -32% | 1 | 1 | 0% | 2,292 | 2,218 | -3% | 0 | 0 | — |
case-22 | pass→pass | 13,445 | 10,423 | -22% | 1 | 1 | 0% | 2,414 | 2,302 | -5% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 19 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -100 percentage points is the difference between those two pass rates over the 19 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Other measured skills in the registry, with their headline benchmark lift.