Install
1
Install the plugin$
npx claudepluginhub affaan-m/everything-claude-code --plugin everything-claude-codeWant just this command?
Then install: npx claudepluginhub u/[userId]/[slug]
Description
Comprehensive Kotlin code review for idiomatic patterns, null safety, coroutine safety, and security. Invokes the kotlin-reviewer agent.
Command Content
Kotlin Code Review
This command invokes the kotlin-reviewer agent for comprehensive Kotlin-specific code review.
What This Command Does
- Identify Kotlin Changes: Find modified
.ktand.ktsfiles viagit diff - Run Build & Static Analysis: Execute
./gradlew build,detekt,ktlintCheck - Security Scan: Check for SQL injection, command injection, hardcoded secrets
- Null Safety Review: Analyze
!!usage, platform type handling, unsafe casts - Coroutine Review: Check structured concurrency, dispatcher usage, cancellation
- Generate Report: Categorize issues by severity
When to Use
Use /kotlin-review when:
- After writing or modifying Kotlin code
- Before committing Kotlin changes
- Reviewing pull requests with Kotlin code
- Onboarding to a new Kotlin codebase
- Learning idiomatic Kotlin patterns
Review Categories
CRITICAL (Must Fix)
- SQL/Command injection vulnerabilities
- Force-unwrap
!!without justification - Platform type null safety violations
- GlobalScope usage (structured concurrency violation)
- Hardcoded credentials
- Unsafe deserialization
HIGH (Should Fix)
- Mutable state where immutable suffices
- Blocking calls inside coroutine context
- Missing cancellation checks in long loops
- Non-exhaustive
whenon sealed types - Large functions (>50 lines)
- Deep nesting (>4 levels)
MEDIUM (Consider)
- Non-idiomatic Kotlin (Java-style patterns)
- Missing trailing commas
- Scope function misuse or nesting
- Missing sequence for large collection chains
- Redundant explicit types
Automated Checks Run
# Build check
./gradlew build
# Static analysis
./gradlew detekt
# Formatting check
./gradlew ktlintCheck
# Tests
./gradlew test
Example Usage
User: /kotlin-review
Agent:
# Kotlin Code Review Report
## Files Reviewed
- src/main/kotlin/com/example/service/UserService.kt (modified)
- src/main/kotlin/com/example/routes/UserRoutes.kt (modified)
## Static Analysis Results
✓ Build: Successful
✓ detekt: No issues
⚠ ktlint: 2 formatting warnings
## Issues Found
[CRITICAL] Force-Unwrap Null Safety
File: src/main/kotlin/com/example/service/UserService.kt:28
Issue: Using !! on nullable repository result
```kotlin
val user = repository.findById(id)!! // NPE risk
```
Fix: Use safe call with error handling
```kotlin
val user = repository.findById(id)
?: throw UserNotFoundException("User $id not found")
```
[HIGH] GlobalScope Usage
File: src/main/kotlin/com/example/routes/UserRoutes.kt:45
Issue: Using GlobalScope breaks structured concurrency
```kotlin
GlobalScope.launch {
notificationService.sendWelcome(user)
}
```
Fix: Use the call's coroutine scope
```kotlin
launch {
notificationService.sendWelcome(user)
}
```
## Summary
- CRITICAL: 1
- HIGH: 1
- MEDIUM: 0
Recommendation: ❌ Block merge until CRITICAL issue is fixed
Approval Criteria
| Status | Condition |
|---|---|
| ✅ Approve | No CRITICAL or HIGH issues |
| ⚠️ Warning | Only MEDIUM issues (merge with caution) |
| ❌ Block | CRITICAL or HIGH issues found |
Integration with Other Commands
- Use
/kotlin-testfirst to ensure tests pass - Use
/kotlin-buildif build errors occur - Use
/kotlin-reviewbefore committing - Use
/code-reviewfor non-Kotlin-specific concerns
Related
- Agent:
agents/kotlin-reviewer.md - Skills:
skills/kotlin-patterns/,skills/kotlin-testing/
Stats
Stars91562
Forks12015
Last CommitMar 11, 2026