CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

131-java-testing-unit-testing

Use when you need to review, improve, or write Java unit tests — including migrating from JUnit 4 to JUnit 5, adopting AssertJ for fluent assertions, structuring tests with Given-When-Then, ensuring test independence, applying parameterized tests, mocking dependencies with Mockito, verifying boundary conditions (RIGHT-BICEP, CORRECT, A-TRIP), leveraging JSpecify null-safety annotations, or eliminating testing anti-patterns such as reflection-based tests or shared mutable state. This should trigger for requests such as Review Java code for unit tests; Apply best practices for unit tests in Java code; Write fast JUnit unit tests for Java code; Improve Mockito-based Java unit tests; Refactor Java tests to isolate collaborators. Part of Plinth Toolkit

68

Quality

85%

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

71%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.

The body is well-structured with a clear workflow, concrete Maven commands, explicit compilation/verification checkpoints, and exemplary progressive disclosure to a single organized reference file. Its main weakness is redundancy: the trigger list, constraints, and workflow restate the same compile/verify rules and frontmatter content, inflating token cost without adding information.

Suggestions

Remove the 'When to use this skill' section — it duplicates the frontmatter description's trigger list, which is already visible when the skill is invoked.

Merge the Constraints section into the Workflow steps so the compile-before and verify-after rules are stated once instead of twice.

Add a brief recovery step for when './mvnw clean verify' fails after applying improvements (e.g., fix failing tests and re-run verify), which would also strengthen workflow clarity.

DimensionReasoningScore

Conciseness

The body restates the same content three times: 'When to use this skill' duplicates the frontmatter description verbatim, the Constraints section repeats the compile/verify rules that the Workflow steps already state, and the bullet list enumerates standard annotations (@Test, @BeforeEach) Claude already knows. Mostly efficient overall, but tightening requires removing whole redundant sections, which matches anchor 3 rather than the minor-trim bar of anchor 4.

3 / 5

Actionability

Concrete executable commands are given ('Run ./mvnw compile or mvn compile', 'Run ./mvnw clean verify or mvn clean verify') plus a specific reference file to read before acting. The guidance is mostly executable with a minor gap — no instruction for what to do if the final verification fails — matching anchor 4 rather than the fully copy-paste-complete anchor 5.

4 / 5

Workflow Clarity

A clear 4-step sequence (compile → read reference and evaluate gaps → apply improvements → verify) with an explicit pre-checkpoint ('stop immediately if compilation fails') and a post-change verification step. It falls short of anchor 5 because there is no fix-and-retry recovery loop after a failure, fitting anchor 4's 'most checkpoints present, minor validation gaps'.

4 / 5

Progressive Disclosure

The body is a lean overview and all detailed examples live in a single clearly signaled, one-level-deep reference (references/131-java-testing-unit-testing.md, verified to exist and well-organized with its own table of contents), linked both in the workflow and in a dedicated Reference section. This matches the anchor 5 pattern of a clear overview with well-signaled shallow references.

5 / 5

Total

16

/

20

Passed

Description

92%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 explicitly states both capabilities and trigger conditions, enumerates concrete actions with specific tooling, and provides five natural trigger phrases. The only weakness is a slightly incomplete set of natural keywords (coverage/JaCoCo terms are absent) and noticeable length, though the length is composed of concrete content rather than fluff.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions with named technologies — 'migrating from JUnit 4 to JUnit 5, adopting AssertJ for fluent assertions, structuring tests with Given-When-Then... mocking dependencies with Mockito... leveraging JSpecify null-safety annotations' — comprehensively covering the skill's capabilities. It matches the anchor for multiple specific concrete actions with comprehensive coverage rather than the anchor 4 example with minor gaps.

5 / 5

Completeness

It explicitly answers both what ('review, improve, or write Java unit tests — including migrating...') and when ('Use when you need to...' and 'This should trigger for requests such as...') with five concrete trigger phrases. This directly matches the anchor 5 example structure and exceeds anchor 4's 'when could be more explicit'.

5 / 5

Trigger Term Quality

Strong natural phrases ('Review Java code for unit tests', 'Write fast JUnit unit tests for Java code', 'Improve Mockito-based Java unit tests', 'Refactor Java tests to isolate collaborators') plus tool names JUnit, AssertJ, Mockito. A few natural user terms are missing, e.g. 'code coverage', 'JaCoCo', or 'flaky tests', so it fits anchor 4 rather than the comprehensive synonym coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

Scoped to Java unit testing with distinctive tooling triggers (JUnit 5, AssertJ, Mockito, JSpecify); 'Part of Plinth Toolkit' names a family but does not blur the trigger conditions. Clear niche with minimal conflict risk, matching anchor 5.

5 / 5

Total

19

/

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/131-java-testing-unit-testing/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.