Kotlin static analysis
Kotlin relies on one detekt skill—feature-complete for L1.
detekt
Role: Kotlin static analysis—smells, complexity, stylistic hygiene. Bundles ktlint rules—no standalone ktlint install required.
| Rule bucket | Samples |
|---|---|
complexity | Cyclomatic complexity, oversized methods/classes |
code-smell | Redundancy, magic numbers, duplication |
style (ktlint) | Naming, spacing, import order |
performance | Needless allocations |
potential-bugs | Nullable pitfalls, casts |
coroutines | Structured-concurrency misuse |
naming | Convention enforcement |
Highlights:
- Kotlin-native understanding (extensions, data classes, coroutines)
- Tune via
detekt.yml - Custom
Rules supported - Gradle / Maven / CLI integrations
Triggers: “Kotlin lint”, “detekt scan”, “code smells”, “ktlint”
Bundle guidance
Output → CodeEvidence → code-review.
Android note
Pair detekt with Android Lint:
| Tool | Covers |
|---|---|
| detekt | Kotlin language layer |
| Android Lint | Framework/resources APIs, manifests, accessibility |
Consider wrapping Android Lint outputs as another L1 skill via skill-architect if you want them inside combo agent pipelines.