Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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 Pron
.claude/skills/jabrena-111-java-maven-dependencies/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 55% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 67% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 21% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 78% | 0% |
Add essential Maven dependencies that enhance code quality, safety, and domain modeling through a consultative, question-driven approach. This is an interactive SKILL.
What is covered in this Skill?
provided scope)test scope)Before adding Maven dependencies, ensure the project is in a valid state. Use a consultative, question-driven flow that adds only what the user selects.
./mvnw validate or mvn validate before any changesRun ./mvnw validate or mvn validate and stop if validation fails.
Run this XML-included question flow before reading any dependency implementation reference. Ask the consolidated dependency-selection question first, wait for the user's answer, and record selected dependency families before continuing. Ask conditional follow-up questions only when required by the selected dependencies.
Question 1: Which code-quality dependencies do you want to add?
Options:
provided scope; recommended for new projects)test scope)Recommendation: Select JSpecify for better null-safety annotations. Add Error Prone + NullAway when you want stronger compile-time analysis. Add VAVR only when functional programming patterns are useful for the project. Add ArchUnit when you want automated architecture governance. Add JavaMoney when the domain needs explicit monetary amounts, currencies, formatting, conversion, or precision-safe money calculations.
Selection notes:
Question 2 (conditional): What is your main project package name?
Note: This question is asked only if Error Prone + NullAway was selected.
This is needed to configure NullAway to analyze your code. For example, if your classes are in com.example.myproject, enter com.example.myproject.
Format: Use dot notation (e.g., com.example.myproject or org.mycompany.myapp)
Example: com.example.myproject
After all applicable questions are answered, confirm the selections and map them to references:
references/111-java-maven-dependencies-jspecify.md.references/111-java-maven-dependencies-jspecify.md.references/111-java-maven-dependencies-vavr.md.references/111-java-maven-dependencies-archunit.md.references/111-java-maven-dependencies-javamoney.md.Read only the selected dependency-family references, then implement only the dependencies, properties, scopes, plugin configuration, and support files chosen by the user while preserving the existing pom.xml structure.
Summarize what was added, why, and any recommended follow-up validations or tooling alignment.
For detailed guidance, examples, and constraints, see:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 12,307 | 3,003 | -76% | 1 | 1 | 0% | 1,857 | 1,544 | -17% | 0 | 0 | — |
case-02 | fail→fail | 20,336 | 5,345 | -74% | 1 | 1 | 0% | 3,285 | 1,475 | -55% | 0 | 0 | — |
case-03 | fail→fail | 3,071 | 2,814 | -8% | 1 | 1 | 0% | 324 | 1,488 | +359% | 0 | 0 | — |
case-04 | fail→pass | 13,868 | 7,901 | -43% | 1 | 1 | 0% | 2,197 | 2,345 | +7% | 0 | 0 | — |
case-05 | fail→pass | 7,058 | 2,690 | -62% | 1 | 1 | 0% | 1,053 | 1,633 | +55% | 0 | 0 | — |
case-06 | pass→pass | 11,019 | 3,129 | -72% | 1 | 1 | 0% | 1,863 | 1,718 | -8% | 0 | 0 | — |
case-07 | fail→pass | 7,316 | 3,696 | -49% | 1 | 1 | 0% | 1,127 | 1,886 | +67% | 0 | 0 | — |
case-08 | fail→pass | 8,801 | 2,121 | -76% | 1 | 1 | 0% | 1,284 | 1,552 | +21% | 0 | 0 | — |
case-09 | fail→fail | 9,267 | 1,950 | -79% | 1 | 1 | 0% | 1,416 | 1,529 | +8% | 0 | 0 | — |
case-10 | pass→pass | 9,738 | 2,932 | -70% | 1 | 1 | 0% | 1,440 | 1,705 | +18% | 0 | 0 | — |
case-11 | fail→fail | 5,609 | 3,513 | -37% | 1 | 1 | 0% | 785 | 1,789 | +128% | 0 | 0 | — |
case-12 | fail→fail | 12,924 | 4,504 | -65% | 1 | 1 | 0% | 1,974 | 1,901 | -4% | 0 | 0 | — |
case-13 | pass→pass | 10,482 | 4,489 | -57% | 1 | 1 | 0% | 1,434 | 1,863 | +30% | 0 | 0 | — |
case-14 | pass→pass | 4,980 | 2,321 | -53% | 1 | 1 | 0% | 701 | 1,533 | +119% | 0 | 0 | — |
case-15 | fail→pass | 6,876 | 2,840 | -59% | 1 | 1 | 0% | 943 | 1,674 | +78% | 0 | 0 | — |
case-16 | fail→fail | 8,637 | 1,554 | -82% | 1 | 1 | 0% | 1,240 | 1,431 | +15% | 0 | 0 | — |
case-17 | fail→fail | 11,606 | 2,600 | -78% | 1 | 1 | 0% | 1,609 | 1,667 | +4% | 0 | 0 | — |
case-18 | pass→pass | 13,357 | 4,286 | -68% | 1 | 1 | 0% | 1,848 | 1,849 | +0% | 0 | 0 | — |
case-19 | pass→pass | 5,105 | 4,073 | -20% | 1 | 1 | 0% | 757 | 1,935 | +156% | 0 | 0 | — |
case-20 | pass→fail | 8,833 | 7,171 | -19% | 1 | 1 | 0% | 1,410 | 1,486 | +5% | 0 | 0 | — |
case-21 | pass→fail | 12,897 | 6,748 | -48% | 1 | 1 | 0% | 2,379 | 1,508 | -37% | 0 | 0 | — |
case-22 | pass→fail | 14,306 | 6,461 | -55% | 1 | 1 | 0% | 2,485 | 1,574 | -37% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 18 counted toward the lift figure. The other 4 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +9 percentage points is the difference between those two pass rates over the 18 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.