Kotlin Code Quality
| This documentation was generated with the assistance of AI. Please report any inaccuracies. |
Run whichever Kotlin static-analysis tools a JVM project actually has wired — detekt and ktlint — and report every issue they find (file, line, rule id, severity, message), grouped by tool. This is a report-only skill: it never fixes issues and never adds or changes detekt, ktlint or Spotless configuration.
Purpose
iru-kotlin-code-quality gives plain Kotlin libraries, Kotlin Spring Boot services and Kotlin Quarkus services a
single lint pass on Maven or Gradle (Kotlin DSL or Groovy, wrapper preferred, multi-module aware). It verifies each
tool is genuinely wired before trusting a "zero issues" result, runs the wired tasks, then parses the generated
reports (detekt Checkstyle-format XML or SARIF, ktlint checkstyle or plain reporter output, Spotless console
output) instead of eyeballing console text. A tool that is not wired is reported as "not wired", never as a clean
pass. Android modules belong to iru-android-code-quality, Kotlin Multiplatform modules to KMP Code Quality, and Java sources in a mixed Java+Kotlin module belong
to iru-java-code-quality.
Plugin
Shipped by the iru-java plugin of the ai-catalog marketplace (install with /plugin install iru-java@ai-catalog; see Plugins).
Inputs
| Argument | Required | Description | Default |
|---|---|---|---|
|
No |
A file path, a class/file simple name, or a module name/path. detekt and ktlint always analyze whole modules, so a scoped run narrows the build to the owning module and filters the reported summary to the scope. |
None — every module is analyzed and everything is reported. |
|
No |
Explicit values such as |
Inferred from the repository. |
Outputs
-
A plain-text summary in the conversation — never a written file.
-
An overall total, then per tool (and per module when several ran): whether it ran or was skipped as "not wired", which config, baseline or
.editorconfiggoverned it, the total, the severity breakdown, and one line per rule bucket (detekt rule name, ktlintruleset:rule-id, Spotlessformatting). -
The file:line list with rule id, severity and message when the scope is smaller than the whole project.
-
Notes for skipped Android modules and for Java sources left to
iru-java-code-quality. -
With a baseline: only issues new since the baseline; a tool unwired in the baseline counts entirely as new.
-
"No Kotlin static analysis configured (detekt/ktlint not wired)" when neither tool is wired anywhere.
-
No source or configuration is modified: no
ktlintFormat,spotlessApply, detektautoCorrector baseline creation.
Execution flow
Dependencies
Invokes
None — iru-kotlin-code-quality is a leaf skill; it only runs detekt, ktlint and Spotless through the project’s
build tool and reads their reports. It mentions iru-android-code-quality, iru-kmp-code-quality and iru-java-code-quality only as
pointers for out-of-scope modules and sources.
Invoked by
-
Code — Step 3 and 7, quality baseline and comparison for Kotlin Spring Boot and Kotlin Quarkus, via the
iru-gate-runneragent. -
Kotlin Spring Boot Code One Task Group — Step 1 and 3.7, detekt/ktlint baseline and regression diff, via the
iru-gate-runneragent. -
Quarkus Code One Task Group — Step 1 and 3.7, Kotlin detekt/ktlint baseline and regression check, via the
iru-gate-runneragent. -
Setup Quarkus Service — Step 9, detekt/ktlint gate for Kotlin builds, via the
iru-gate-runneragent.
Source
SKILL.md on GitHub — the file this page was generated from.