What problem does it solve? JVM builds resolve dependency versions through mechanisms (conflict resolution, constraints, dependencyManagement, mediation) that differ between Gradle, Maven, and Bazel, so agents and developers routinely misdiagnose why a version was selected, misplace a declaration, or ship a version bump whose transitives nobody inspected. This Skill provides an evidence-first triage procedure that names the selecting mechanism, the exact file and line to fix, and the command whose output changed. ## Core Features & Use Cases - Version conflict triage: Uses dependencyInsight, dependency:tree -Dverbose, and help:effective-pom to identify whether conflict resolution, a constraint, a platform, a force, or dependencyManagement selected a version, and where the fix belongs. - Declaration correctness checks: Detects api vs implementation leaks, compileOnly runtime traps, enforcedPlatform() and strictly misuse in published libraries, and unbound maven-enforcer-plugin executions. - Safe version bumps: Resolves candidate coordinates against the real repository before writing them down, carries lockfiles and verification-metadata diffs, and blocks dynamic versions (-SNAPSHOT, +, ranges) in release builds. - Use Case: A Dependabot PR bumps Guava and the build passes. Run entry point 3 to resolve the coordinate, diff dependencyInsight output on both sides of the change, and regenerate lockfiles with a reviewed verification-metadata diff before approving. ## Quick Start Ask the agent to triage why com.google.guava:guava resolved to an unexpected version in this repository using the jvm-dependency-triage procedure.