CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

122-java-type-design

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. This should trigger for requests such as Review Java code for type design; Improve type design in Java code; Fix primitive obsession in Java code; Create value objects in Java code. Part of Plinth Toolkit

68

Quality

86%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

78%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured instruction-pointer skill: safe workflow with compile-before/verify-after checkpoints and clean progressive disclosure to a real, well-organized reference file. The main gaps are duplicated content between the Constraints and Workflow sections and the absence of error-recovery guidance after the verification step.

Suggestions

Merge the compile/verify bullets from the Constraints section into the Workflow steps (or vice versa) and drop the 'When to use this skill' section that restates the description's triggers, to save tokens.

Add a short feedback loop after the verify step, e.g. 'If verification fails, review failing tests, revert or fix the offending refactoring, and re-run verification before proceeding.'

Include one brief inline example of an applicable pattern (e.g. a primitive-to-value-object before/after snippet) so step 3 is actionable before Claude opens the reference.

DimensionReasoningScore

Conciseness

The body is mostly lean — a coverage bullet list, constraints, and a short workflow with no explanation of concepts Claude already knows — but the Constraints section duplicates the workflow's compile/verify steps and the 'When to use this skill' section restates the description's triggers.

4 / 5

Actionability

Concrete, executable commands are given ('Run `./mvnw compile` or `mvn compile`', 'Run `./mvnw clean verify`', 'Read references/122-java-type-design.md'), but step 3 ('Implement selected type-safety and readability improvements') defers the actual refactoring guidance entirely to the reference with no inline example of an applicable pattern.

4 / 5

Workflow Clarity

The 4-step workflow has a clear sequence and an explicit pre-checkpoint (stop immediately if compilation fails) plus a final verify step, but there is no feedback loop telling Claude what to do when post-change verification fails.

4 / 5

Progressive Disclosure

The body is a concise overview pointing to a single, clearly signaled, one-level-deep reference (references/122-java-type-design.md, verified to exist and well-organized with a table of contents and 12 example sections); the bulk detail is appropriately split out and navigation is easy.

5 / 5

Total

17

/

20

Passed

Description

88%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: it enumerates concrete capabilities, uses an explicit 'Use when...' clause with natural trigger phrases, and stakes out a clear niche. Weaknesses are limited to a few missing natural synonyms and modest overlap with adjacent Java-refactoring skills.

DimensionReasoningScore

Specificity

The description lists many concrete actions — '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... BigDecimal for financial calculations' — comprehensive coverage of the skill's capabilities.

5 / 5

Completeness

Both 'what' (the detailed action list) and 'when' are explicitly answered — the opening 'Use when you need to review, improve, or refactor Java code' plus the 'This should trigger for requests such as...' sentence gives concrete trigger phrases.

5 / 5

Trigger Term Quality

Explicit trigger phrases like 'Review Java code for type design; Improve type design in Java code; Fix primitive obsession in Java code; Create value objects in Java code' are natural user phrasings, but common synonyms such as 'refactor Java types', 'builder pattern', or file extensions like .java are missing.

4 / 5

Distinctiveness Conflict Risk

The Java type-design niche ('Part of Plinth Toolkit', 'primitive obsession', 'value objects') is well distinguished from generic skills, but there is minor overlap risk with general Java refactoring or code-review skills that share the 'review/improve/refactor Java code' framing.

4 / 5

Total

18

/

20

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 — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

jabrena/plinth

Path

skills/122-java-type-design/SKILL.md

Reviewed

Table of Contents

Is this your skill?

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.