What problem does it solve? Publishing to Maven Central is irreversible once a deployment reaches PUBLISHED, and common mistakes like missing sources jars, incomplete POMs, skipped binary-compatibility checks, or jobs that stop at VALIDATED instead of PUBLISHED cost a version number every time. This Skill provides an ordered, gate-based runbook that catches every defect before the artifact leaves the machine. ## Core Features & Use Cases - Gate-ordered release runbook: Eight ordered steps covering namespace verification, tag-versus-version gating, binary-compatibility checks (japicmp, Kotlin ABI validator), the required per-file set, signing, and exit semantics, for both Gradle and Maven side by side. - Dead-path detection: Names the obsolete OSSRH endpoints, nexus-staging plugins, and OIDC assumptions that models propose from pre-2025 training data, with grep-based checks to find them in a repository. - Review-ready findings table: Sixteen merge-blocking MUST rows mapped to rule IDs (GRADLE-PUB, MVN-PUB, JAVA-API, KT-API) so a review reports findings with stable identifiers. - Use Case: A team cutting a Kotlin library release runs the runbook to verify the git tag matches gradle.properties, confirm apiCheck runs before the publish task, validate the generated POM contains url and scm blocks, and configure nmcp with AUTOMATIC publishing so a green CI job means the artifact is live on Central. ## Quick Start Use the jvm-release skill to review my Gradle release workflow and tell me whether a green job means the artifact is actually published to Maven Central.