CtrlK
BlogDocsLog inGet started
Tessl Logo

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

71

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, lean SKILL.md that uses progressive disclosure effectively and includes a compile-stop validation gate. Minor room to improve via removing frontmatter duplication and making the end-of-workflow verify feedback loop explicit.

Suggestions

Remove or trim the 'When to use this skill' section, since those trigger phrases already appear verbatim in the frontmatter description, to reduce redundancy.

Add an explicit feedback loop after the verify step (e.g., 'If verify fails, fix the issues and re-run mvn clean verify') to make the tail validation as explicit as the compile gate.

Consider including one short inline JUnit 5/AssertJ example in the body so the most common case is actionable without opening the reference.

DimensionReasoningScore

Conciseness

The body is lean and avoids explaining concepts Claude already knows, but the 'What is covered' list and 'When to use this skill' section partially duplicate capabilities and trigger phrases already present in the frontmatter description.

4 / 5

Actionability

Provides concrete executable commands (./mvnw compile, mvn clean verify) and a specific reference path, but defers all code examples to the reference rather than including copy-paste JUnit/AssertJ snippets inline.

4 / 5

Workflow Clarity

Clear sequenced workflow with an explicit compile-before/stop-on-failure checkpoint and a final verify step; the front-loaded compile feedback loop is explicit, but the tail 'if verify fails, fix and re-verify' loop is only implied rather than spelled out.

4 / 5

Progressive Disclosure

A concise overview points to a single one-level-deep reference (references/131-java-testing-unit-testing.md, verified present) signaled three times with a valid markdown link, with all detailed examples and constraints appropriately split into that file.

5 / 5

Total

17

/

20

Passed

Description

95%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 highly specific, well-triggered description that clearly states both capabilities and usage conditions for Java unit testing. The only weakness is the second-person phrasing, which the rubric penalizes on specificity.

DimensionReasoningScore

Specificity

Lists many concrete actions (migrating JUnit 4→5, AssertJ, Given-When-Then, parameterized tests, Mockito mocking, RIGHT-BICEP/CORRECT/A-TRIP boundaries, JSpecify, anti-pattern elimination) approaching comprehensive coverage, but the second-person 'Use when you need to...' voice incurs the rubric's -1 specificity penalty.

4 / 5

Completeness

Explicitly answers both 'what' (review/improve/write Java unit tests with the enumerated capabilities) and 'when' ('Use when you need to...', 'This should trigger for requests such as...') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Provides explicit natural trigger phrases ('Review Java code for unit tests', 'Write fast JUnit unit tests for Java code', 'Improve Mockito-based Java unit tests') plus synonyms (JUnit, AssertJ, Mockito), giving comprehensive coverage of terms users would actually say.

5 / 5

Distinctiveness Conflict Risk

Targets a clear niche (framework-agnostic Java unit testing with JUnit 5/AssertJ/Mockito) with distinct triggers and minimal overlap; the reference even scopes Spring Boot/Quarkus to separate sibling skills.

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
jabrena/plinth
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.