CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/jvm-unit-tests

Use whenever the task is to write, add, fix or review JVM unit tests in Java, Kotlin, Scala or Groovy: JUnit 6 (Jupiter) by default and JUnit 5 upgrades, plus Kotest, Spock, ScalaTest and TestNG. Covers parameterized tests, lifecycle hooks, Mockito, AssertJ, JaCoCo coverage and Maven or Gradle CI.

Quality

94%

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

Overview
Quality
Evals
Security
Files

Quality

Content

86%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-engineered skill body: executable, version-pinned setup for Maven and Gradle, a clear 8-step sequence with decision procedures and guardrails, and clean offloading of alternative-framework detail to a real one-level reference bundle. The only deductions are scattered date/version stamps that will age, and the absence of an explicit run-and-iterate feedback loop in the authoring workflow.

Suggestions

Consolidate time-sensitive version and date stamps (JUnit 6.1.3 / 3 Nov 2026, release-note dates, plugin versions) into the upgrade/changes section or a single pinned-versions note, so the rest of the body stays stable as versions move.

Add an explicit feedback loop to the authoring conventions: after emitting the test file, run `mvn test` / `./gradlew test`, and on failure read the assertion diff and fix the test (not the target) before proceeding.

Trim the closing References section, which restates the inline link descriptions verbatim — a bare link list with one-line hooks would save tokens without losing navigation.

DimensionReasoningScore

Conciseness

The body is dense and operational throughout — no explanation of basics Claude already knows, and every section carries version-pinned snippets or decision rules. It falls short of the top anchor because time-sensitive stamps ("6.1.3 on Maven Central, 3 Nov 2026", "September 30, 2025", "0.8.16", "3.6.1 is current") are scattered across sections rather than isolated in a changes/deprecated section, and the References section restates content already given inline. It is noticeably above the midpoint, so 4 rather than 3.

4 / 5

Actionability

Guidance is copy-paste ready across the common cases: full Maven dependencyManagement XML, Gradle Kotlin DSL with the launcher dependency, a complete Jupiter test class, parameterized-test code with imports, a Mockito extension example, junit-platform.properties, CI YAML, grep tokens for framework detection, and exact test-file path conventions. This matches the "fully executable; specific examples cover the common cases" anchor; the few elided bodies (e.g. `void createsUserWithLowercaseEmail() { ... }`) are incidental to the annotation being demonstrated.

5 / 5

Workflow Clarity

The Step 1–8 sequence is explicit, the framework-choice procedure includes a stop-and-ask checkpoint ("Two or more framework signals in one build → stop and ask"), and the upgrade path carries validation instructions ("Run every CSV-driven test after the upgrade", "Fix deprecation warnings on 5.x before the jump") with an anti-patterns table mapping failures to fixes. It misses the top anchor because no explicit validate→fix→retry loop is spelled out for the main authoring flow — running the suite and iterating on failures is only implied by "Run: `mvn test`".

4 / 5

Progressive Disclosure

The main file keeps the default path (JUnit) inline while splitting the four alternative frameworks and AssertJ into five real, one-level-deep reference files, each linked at the point of need in the framework table and again in a closing References section; the reference files point only back to SKILL.md or siblings, with no deeper nesting. This matches the "clear overview with well-signaled one-level-deep references; content appropriately split" anchor.

5 / 5

Total

18

/

20

Passed

Description

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

The description is a model trigger description: an explicit "Use whenever" clause with concrete task verbs, named languages and frameworks (including synonyms), and an enumerated list of covered capabilities. It answers both what and when unambiguously with no vague language or over-claims.

DimensionReasoningScore

Specificity

The description lists four concrete actions ("write, add, fix or review JVM unit tests"), names the languages, the default and alternative frameworks ("JUnit 6 (Jupiter) by default and JUnit 5 upgrades, plus Kotest, Spock, ScalaTest and TestNG"), and enumerates coverage areas ("parameterized tests, lifecycle hooks, Mockito, AssertJ, JaCoCo coverage and Maven or Gradle CI"). This matches the anchor for multiple specific concrete actions with comprehensive coverage; it is not score 4 because the sub-topics of the domain are explicitly enumerated rather than left with minor gaps.

5 / 5

Completeness

The "when" is an explicit trigger clause ("Use whenever the task is to write, add, fix or review JVM unit tests in Java, Kotlin, Scala or Groovy") and the "what" is concrete (default framework, alternatives, and covered topics). Both are explicitly and clearly answered with concrete trigger phrases, matching the top anchor; the score-4 anchor's "when could be more explicit" caveat does not apply.

5 / 5

Trigger Term Quality

It covers the natural terms users would say when needing this skill — "unit tests", "Java", "Kotlin", "Scala", "Groovy", "JUnit", "TestNG", "Spock", "Mockito", "coverage", "Maven", "Gradle" — including synonyms via the five framework names and the "JUnit 6 (Jupiter)" alias. This is comprehensive natural-term coverage, matching the top anchor rather than the "a few natural terms missing" anchor at 4.

5 / 5

Distinctiveness Conflict Risk

The scope is tightly pinned to JVM unit testing with named languages, frameworks, and libraries, giving it a clear niche with distinct triggers — it would not fire for non-JVM testing or general CI skills. It matches the "clear niche with distinct triggers; minimal conflict risk" anchor rather than the minor-overlap anchor at 4.

5 / 5

Total

20

/

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.

Reviewed

On this page