Use when you need to review, improve, or refactor Java code for object-oriented design quality — including applying SOLID, DRY, and YAGNI principles, improving class and interface design, fixing OOP concept misuse (encapsulation, inheritance, polymorphism), identifying and resolving code smells (God Class, Feature Envy, Data Clumps), or improving object creation patterns, method design, and exception handling. Part of the skills-for-java project
83
78%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/121-java-object-oriented-design/SKILL.mdQuality
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong skill description that clearly communicates what the skill does and when to use it. It provides rich, specific trigger terms covering OOP principles, code smells, and design patterns in Java. The only minor weakness is the trailing 'Part of the skills-for-java project' which adds no selection value, but overall this is an excellent description.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: applying SOLID/DRY/YAGNI principles, improving class and interface design, fixing OOP concept misuse (with examples like encapsulation, inheritance, polymorphism), identifying code smells (God Class, Feature Envy, Data Clumps), and improving object creation patterns, method design, and exception handling. | 3 / 3 |
Completeness | Clearly answers both 'what' (review, improve, refactor Java code for OOP design quality with specific areas listed) and 'when' (opens with 'Use when you need to...' followed by explicit trigger scenarios). The 'Use when' clause is present and detailed. | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural terms a user would say: 'Java code', 'SOLID', 'DRY', 'YAGNI', 'refactor', 'encapsulation', 'inheritance', 'polymorphism', 'God Class', 'Feature Envy', 'Data Clumps', 'code smells', 'object-oriented design'. These are all terms developers naturally use when seeking OOP design help. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive — narrowly scoped to Java OOP design quality specifically, with distinct triggers like SOLID principles, specific code smells (God Class, Feature Envy), and OOP concepts. Unlikely to conflict with general Java skills or non-OOP code review skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
57%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill has good structure and progressive disclosure, correctly deferring detailed patterns to a reference file. However, it lacks any concrete code examples in the main body, making it feel more like a table of contents than actionable guidance. The 'When to use this skill' section is redundant and the workflow could be more explicitly sequenced with error recovery steps.
Suggestions
Add at least one concrete before/after code example in the main body (e.g., a God Class refactoring or a SOLID violation fix) to make the skill immediately actionable without requiring the reference file.
Remove or significantly trim the 'When to use this skill' section — it restates what Claude can infer from the description and bullet list above it.
Structure the constraints as an explicit numbered workflow with a feedback loop: 1. Compile → 2. Read reference → 3. Apply changes → 4. Verify → 5. If verify fails, fix and re-verify.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The 'What is covered' bullet list and 'When to use this skill' section are largely redundant with each other and with the description. The constraints section is reasonably tight, but the overall content could be significantly trimmed — the 'When to use' list restates obvious triggers Claude could infer. | 2 / 3 |
Actionability | The constraints section provides concrete commands (`./mvnw compile`, `mvn clean verify`) which is good, but the skill body itself contains no executable code examples, no concrete refactoring patterns, and no specific before/after code snippets. All substantive guidance is deferred to the reference file. | 2 / 3 |
Workflow Clarity | There is a clear sequence implied (compile → apply changes → verify) with a blocking condition on compilation failure, which is good. However, the steps are not explicitly numbered as a workflow, there's no feedback loop for post-verify failures, and the validation checkpoint after changes is mentioned but not structured with error recovery guidance. | 2 / 3 |
Progressive Disclosure | The skill provides a clear overview of what's covered, keeps the SKILL.md concise, and points to a single well-signaled reference file for detailed examples and patterns. This is a clean one-level-deep reference structure with easy navigation. | 3 / 3 |
Total | 9 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
9ec21dd
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.