Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when reviewing, improving, or refactoring Java object-oriented design, including applying SOLID, DRY, or YAGNI; improving classes and interfaces; correcting encapsulation, inheritance, or polymorphism; resolving God Class, Feature Envy, or Data Clumps; and improving object creation, methods, or exception contracts. Triggers include review Java OOD, refactor Java OOD, improve Java OOD, fix OOP misuse, and identify Java code smells. Part of Plinth Toolkit
.claude/skills/jabrena-121-java-object-oriented-design/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | -31% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -42% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 114% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 196% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 65% | 0% |
Review and improve Java code using focused object-oriented design references selected after assessing the request and affected code.
What is covered in this Skill?
Scope: Classify the applicable OOD concerns first, then load only the focused references needed for those concerns. Load multiple references when a refactoring crosses concern boundaries.
Before applying any OOD 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.
Analyze the request and affected Java code before reading implementation guidance. Classify each relevant problem into one or more concerns:
@Override.Optional.If the request is dedicated type-design work, use skill 122. If it is dedicated exception-handling work, use skill 126.
Map the classified concerns to focused references:
references/121-java-object-oriented-design-principles.md.references/121-java-object-oriented-design-oop-concepts.md.references/121-java-object-oriented-design-code-smells.md.references/121-java-object-oriented-design-object-creation.md.references/121-java-object-oriented-design-classes-interfaces.md.@Override, read references/121-java-object-oriented-design-enums-annotations.md.Optional, read references/121-java-object-oriented-design-methods.md.references/121-java-object-oriented-design-exceptions.md.Read every reference required by a cross-concern refactoring, but do not read unrelated references.
Prioritize findings by impact: CRITICAL, MAINTAINABILITY, FLEXIBILITY, or CODE_QUALITY. Apply the smallest suitable refactoring for each diagnosed concern while preserving observable behavior:
Apply changes incrementally and compile after each significant refactoring.
Run ./mvnw clean verify or mvn clean verify after applying improvements.
Report findings by impact and concern, focused references used, refactorings applied, maintainability/flexibility/testability benefits, behavior-preservation evidence, and the final compilation and test result.
For detailed guidance, examples, and constraints, see:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 4,165 | 5,795 | +39% | 1 | 1 | 0% | 183 | 2,035 | +1012% | 0 | 0 | — |
case-02 | fail→fail | 3,873 | 4,982 | +29% | 1 | 1 | 0% | 264 | 2,057 | +679% | 0 | 0 | — |
case-03 | fail→fail | 4,875 | 4,867 | -0% | 1 | 1 | 0% | 264 | 2,067 | +683% | 0 | 0 | — |
case-04 | fail→pass | 20,994 | 3,884 | -81% | 1 | 1 | 0% | 3,480 | 2,405 | -31% | 0 | 0 | — |
case-05 | fail→pass | 21,981 | 3,078 | -86% | 1 | 1 | 0% | 3,866 | 2,237 | -42% | 0 | 0 | — |
case-06 | fail→fail | 27,157 | 18,704 | -31% | 1 | 1 | 0% | 4,889 | 4,883 | -0% | 0 | 0 | — |
case-07 | pass→pass | 8,939 | 11,032 | +23% | 1 | 1 | 0% | 1,194 | 2,642 | +121% | 0 | 0 | — |
case-08 | fail→fail | 10,884 | 7,045 | -35% | 1 | 1 | 0% | 1,896 | 2,175 | +15% | 0 | 0 | — |
case-09 | fail→pass | 9,444 | 6,044 | -36% | 1 | 1 | 0% | 1,280 | 2,737 | +114% | 0 | 0 | — |
case-10 | pass→pass | 4,180 | 2,142 | -49% | 1 | 1 | 0% | 599 | 2,067 | +245% | 0 | 0 | — |
case-11 | fail→pass | 5,637 | 4,618 | -18% | 1 | 1 | 0% | 846 | 2,506 | +196% | 0 | 0 | — |
case-12 | fail→pass | 10,468 | 4,989 | -52% | 1 | 1 | 0% | 1,604 | 2,646 | +65% | 0 | 0 | — |
case-13 | fail→pass | 11,368 | 3,054 | -73% | 1 | 1 | 0% | 1,856 | 2,257 | +22% | 0 | 0 | — |
case-14 | fail→pass | 6,444 | 4,045 | -37% | 1 | 1 | 0% | 1,029 | 2,448 | +138% | 0 | 0 | — |
case-15 | pass→pass | 12,888 | 4,365 | -66% | 1 | 1 | 0% | 1,896 | 2,527 | +33% | 0 | 0 | — |
case-16 | fail→pass | 5,185 | 2,156 | -58% | 1 | 1 | 0% | 758 | 2,054 | +171% | 0 | 0 | — |
case-17 | fail→fail | 12,868 | 14,774 | +15% | 1 | 1 | 0% | 2,146 | 3,669 | +71% | 0 | 0 | — |
case-18 | pass→fail | 9,691 | 5,599 | -42% | 1 | 1 | 0% | 1,485 | 2,006 | +35% | 0 | 0 | — |
case-19 | pass→pass | 11,783 | 7,758 | -34% | 1 | 1 | 0% | 1,609 | 2,861 | +78% | 0 | 0 | — |
case-20 | pass→pass | 13,170 | 5,376 | -59% | 1 | 1 | 0% | 1,819 | 2,569 | +41% | 0 | 0 | — |
case-21 | pass→fail | 6,059 | 6,001 | -1% | 1 | 1 | 0% | 986 | 2,027 | +106% | 0 | 0 | — |
case-22 | fail→pass | 13,815 | 4,533 | -67% | 1 | 1 | 0% | 2,218 | 2,475 | +12% | 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 16 counted toward the lift figure. The other 6 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 +32 percentage points is the difference between those two pass rates over the 16 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.