How this skill is triggered — by the user, by Claude, or both
Slash command
/kotlin-tools:add-dtoThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a Kotlin serializable DTO from the provided arguments.
Create a Kotlin serializable DTO from the provided arguments.
UserResponse.kt)Read the project structure: Read src/main/kotlin/Main.kt to determine the package name. Use that same package
declaration in the new file.
Parse the JSON: Analyze the JSON string to determine field names and types. Map JSON types to Kotlin types:
StringInt (use Long if the value exceeds Int range)DoubleBooleanList<T> where T is inferred from array elements@Serializable data class (see Important section)String and add a TODO comment.Generate the data class:
@Serializable from kotlinx.serializationval propertiesfirst_name), annotate the property with @SerialName("first_name")
and use camelCase in the Kotlin property name (e.g., firstName)@SerialName annotation.kt extension)Write the file: Save to src/main/kotlin/<FileName>.kt (using the file name from $0).
Given: /add-dto UserProfile.kt {"user_name": "alice", "email": "[email protected]", "is_active": true, "login_count": 5}
Generate:
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@Serializable
data class UserProfile(
@SerialName("user_name") val userName: String,
val email: String,
@SerialName("is_active") val isActive: Boolean,
@SerialName("login_count") val loginCount: Int,
)
SerialName if at least one field needs it.npx claudepluginhub mattbobambrose/mattbobambrose-claude-skills --plugin kotlin-toolsCreates DTO (Data Transfer Object) classes for entities in Spring Boot projects. Supports Java classes, records, Lombok, and Kotlin data classes with attribute selection and optional mapper delegation.
Provides idiomatic Kotlin patterns for coroutines, Flow, KMP, Compose UI, Ktor servers, and DSL design. Invoke for sealed classes, suspend functions, or Android Kotlin development.
Provides idiomatic Kotlin patterns and best practices for null safety, coroutines, sealed classes, extension functions, and type-safe DSL builders.