111-java-maven-dependencies
Use when you need to add or evaluate Maven dependencies that improve code quality — including nullness annotations (JSpecify), static analysis (Error Prone + NullAway), functional programming (VAVR), or architecture testing (ArchUnit) — and want a consultative, question-driven ap
What it does
Add Maven dependencies for improved code quality
Add essential Maven dependencies that enhance code quality and safety through a consultative, question-driven approach. This is an interactive SKILL.
What is covered in this Skill?
- JSpecify: (nullness annotations,
providedscope) - Error Prone + NullAway: (enhanced static analysis with compile-time null checking)
- VAVR: (functional programming with Try/Either and immutable collections)
- ArchUnit: (architecture rule enforcement,
testscope)
Constraints
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.
- MANDATORY: Run
./mvnw validateormvn validatebefore any changes - SAFETY: If validation fails, stop and ask the user to fix issues—do not proceed until resolved
- BEFORE ASKING QUESTIONS: Read the reference to use the exact wording and options from the template. Ask questions one-by-one in strict order (JSpecify → Enhanced Compiler Analysis (conditional) → VAVR → ArchUnit) and add only what the user selects. Use consultative language, present trade-offs, and wait for user responses before implementing
When to use this skill
- Add Maven dependencies
- Add JSpecify nullness dependencies
- Add Error Prone NullAway dependencies
- Add VAVR functional dependencies
- Add ArchUnit architecture testing dependencies
Workflow
- Validate project before changes
Run ./mvnw validate or mvn validate and stop if validation fails.
- Read dependency reference and ask guided questions
Read references/111-java-maven-dependencies.md and ask one-by-one in strict order: JSpecify, conditional Enhanced Compiler Analysis, VAVR, and ArchUnit.
- Add only selected dependencies
Implement only the dependencies and scopes chosen by the user, preserving existing pom.xml structure.
- Report trade-offs and next checks
Summarize what was added, why, and any recommended follow-up validations or tooling alignment.
Reference
For detailed guidance, examples, and constraints, see references/111-java-maven-dependencies.md.
Capabilities
Install
Quality
deterministic score 0.63 from registry signals: · indexed on github topic:agent-skills · 362 github stars · SKILL.md body (2,201 chars)