CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

111-java-maven-dependencies

Use when you need to add or evaluate Maven dependencies that improve code quality or domain modeling — including nullness annotations (JSpecify), static analysis (Error Prone + NullAway), functional programming (VAVR), architecture testing (ArchUnit), or money and currency support (JavaMoney) — and want a consultative, question-driven approach that adds only what you actually need. This should trigger for requests such as Add Maven dependencies; Add JSpecify nullness dependencies; Add Error Prone NullAway dependencies; Add VAVR functional dependencies; Add ArchUnit architecture testing dependencies; Add JavaMoney dependencies. Part of Plinth Toolkit

64

Quality

81%

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.

A well-structured interactive skill with a clear validated workflow and exemplary progressive disclosure — the overview poses questions and delegates implementation detail to real, one-level-deep reference files. The main drag is conciseness: trigger lists and pre-reference instructions are repeated multiple times, and the redundant 'When to use' section could be cut entirely.

Suggestions

Delete the 'When to use this skill' section — it duplicates the frontmatter description's trigger list verbatim and adds no new information to the body.

State the ask-before-reading-references rule once: keep the 'BEFORE READING DEPENDENCY REFERENCES' constraint and trim the repeated restatements in the Step 2 heading and intro paragraph (also fixing the odd phrase 'XML-included question flow').

Make post-change verification mandatory rather than advisory: add a final workflow step to re-run './mvnw validate' (or 'mvn validate') after editing pom.xml and fix any failures before reporting.

DimensionReasoningScore

Conciseness

The body is mostly efficient but contains clear redundancy: the 'When to use this skill' section repeats the description's trigger list verbatim, and the instruction to run the question flow before reading references is stated three times ('BEFORE READING DEPENDENCY REFERENCES' in Constraints, the Step 2 heading, and again in the Step 2 intro paragraph 'Run this XML-included question flow before reading any dependency implementation reference'). This matches anchor 3 ('mostly efficient but includes some unnecessary explanation or could be tightened') rather than anchor 4, where only minor trimming would be needed.

3 / 5

Actionability

Concrete, executable guidance is present: an exact validation command ('./mvnw validate or mvn validate'), a fully specified question flow with enumerated options, selection notes, a format spec and example for the package name, and an explicit mapping from each answer to a specific reference file. It is not anchor 5 because the body itself contains no copy-paste dependency/plugin snippets (those live in the references), so a reader must follow a link to execute the core task — minor gaps consistent with anchor 4.

4 / 5

Workflow Clarity

A clear four-step sequence (validate → ask → read/implement → report) with an explicit pre-change checkpoint ('Run mvn validate and stop if validation fails... do not proceed until resolved') and conditional-question gating. It falls short of anchor 5 because post-change verification is only advisory ('any recommended follow-up validations') rather than a mandated validate-and-fix loop after pom.xml is modified.

4 / 5

Progressive Disclosure

The body is a concise overview with per-family details split into four real, one-level-deep reference files (all four paths verified to exist in references/, none of which reference further files), clearly signaled in a '## Reference' section and gated by the question flow ('Read only the dependency references selected by the user's answers'). This matches anchor 5 ('clear overview with well-signaled one-level-deep references; content appropriately split; easy navigation').

5 / 5

Total

16

/

20

Passed

Description

82%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 that explicitly covers what the skill does, when to use it, and comprehensive trigger phrasing tied to the five specific dependency families. Its main weaknesses are second-person voice (explicitly penalized for specificity) and some verbosity from the trailing meta-statements ('This should trigger for requests such as...', 'Part of Plinth Toolkit').

DimensionReasoningScore

Specificity

Names the domain ('add or evaluate Maven dependencies that improve code quality or domain modeling') and comprehensively enumerates the five dependency families (JSpecify, Error Prone + NullAway, VAVR, ArchUnit, JavaMoney) with what each provides, which initially fits anchor 4. However, the description uses second person ('Use when you need to add...', 'want a consultative... approach that adds only what you actually need'), which the judging guidelines explicitly penalize by reducing specificity by 1.

3 / 5

Completeness

Both 'what' and 'when' are explicit: the what is concrete ('add or evaluate Maven dependencies that improve code quality or domain modeling — including nullness annotations (JSpecify)...') and the when includes a 'Use when...' clause plus a list of concrete trigger requests. This matches anchor 5 ('Clearly and explicitly answers both what AND when with concrete trigger phrases'); anchor 4 would require a weaker or less explicit 'when'.

5 / 5

Trigger Term Quality

Explicit trigger phrases are provided ('This should trigger for requests such as Add Maven dependencies; Add JSpecify nullness dependencies; Add Error Prone NullAway dependencies...') plus natural terms like Maven, nullness annotations, static analysis, functional programming, architecture testing, Money and Currency. This is good coverage matching anchor 4, but common variations like pom.xml or build file are missing, so it falls short of anchor 5's 'synonyms and file extensions' standard.

4 / 5

Distinctiveness Conflict Risk

A clear niche — Java Maven dependencies for code quality via five specifically named libraries — with distinct triggers; there is minimal overlap risk since no other plausible skill would claim these exact triggers. It clearly matches anchor 5 rather than anchor 4, which would require noticeable overlap with a closely related skill.

5 / 5

Total

17

/

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/111-java-maven-dependencies/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.