dependency-conflict-resolver

Diagnose Gradle and Spring dependency conflicts in Kotlin applications.

14|1|Updated Mar 6, 2026
One-click install
npx skills add https://github.com/Kotlin/kotlin-backend-agent-skills --skill dependency-conflict-resolver-kotlin
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dependency-conflict-resolver
Source: https://github.com/Kotlin/kotlin-backend-agent-skills/tree/main/.agents/skills/dependency-conflict-resolver
Command: npx skills add https://github.com/Kotlin/kotlin-backend-agent-skills --skill dependency-conflict-resolver-kotlin

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Diagnose and resolve Gradle and Spring classpath conflicts, version drift, and binary incompatibilities in Kotlin applications. Use when NoSuchMethodError, ClassNotFoundException, NoClassDefFoundError, AbstractMethodError, or duplicate binding warnings occur, and ensure fixes respect the repository's version authorities.

Core Features & Use Cases

  • Identify failing class or method owner and the artifact providing it.
  • Enumerate all candidate versions, determine the winning one, and document why it wins.
  • Propose minimal, safe fixes (BOM alignment, platform constraints, or targeted overrides) and ensure consistency across modules.
  • Use in CI or local development to stabilize dependency graphs and avoid runtime conflicts.

Quick Start

Run the Gradle dependencies and dependencyInsight reports to locate the failing artifact, then implement the recommended version authority fix.

Frequently Asked Questions about dependency-conflict-resolver

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I resolve Gradle dependency conflicts causing NoSuchMethodError in Kotlin apps?

To resolve Gradle dependency conflicts causing NoSuchMethodError, identify the failing artifact, enumerate candidate versions, and apply minimal targeted fixes like BOM alignment or platform constraints to ensure the correct version wins across your project graph.

What is the best way to fix Spring version drift and binary incompatibilities in a Gradle build?

The best way to fix Spring version drift is to analyze transitive dependencies to determine the winning version, then enforce version authority through platform alignment or targeted overrides to stabilize your classpath and prevent binary incompatibilities.

How do I find the winning version of a transitive dependency in Gradle?

To find the winning version, run Gradle dependencies and dependencyInsight reports to locate the artifact, enumerate all candidate versions pulled in transitively, and document why the specific version wins the conflict resolution.

Can I use BOM alignment to fix ClassNotFoundException or NoClassDefFoundError in Spring?

Yes, you can use BOM alignment to fix ClassNotFoundException by ensuring all Spring modules on your classpath align to a unified version, preventing transitive dependencies from pulling in incompatible older artifacts.

Why does over-pinning dependencies cause issues in Gradle project graphs?

Over-pinning dependencies causes issues by explicitly forcing versions that bypass Gradle's default conflict resolution, leading to rigid graphs that ignore BOM platform alignment and often introduce new binary incompatibilities across modules.

Does this dependency conflict resolver apply to both local development and CI workflows?

Yes, this dependency conflict resolver applies to both local development and CI workflows, providing explicit steps and guardrails to stabilize dependency graphs and ensure version authority consistency across different environments.