Skip to content

Guide · Agent skill

How to use the Kotlin Specialist agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The kotlin-specialist skill gives an AI agent a set of Kotlin best practices so it writes code the way an experienced Kotlin developer would. It is aimed at developers building Android apps with Jetpack Compose, teams starting Kotlin Multiplatform projects, and backend developers setting up Ktor servers. After this guide you will know what the skill changes about the agent's output, how to install it, how to trigger it with plain requests, and what you still need to check yourself.

Kotlin SpecialistJeffallan/claude-skills · MIT

Quick start

  1. 1Download the ZIP. Download the kotlin-specialist skill ZIP from this page.
  2. 2Unzip into a skills folder. Unzip it into ~/.claude/skills/ for all projects, or into a project's .claude/skills/ folder for one project.
  3. 3Or upload in the Claude apps. In the Claude apps, go to Settings → Capabilities → Skills and upload the skill.
  4. 4Check your toolchain. Make sure you have Kotlin 1.9+, Gradle, detekt and ktlint available.
  5. 5Ask with a natural request. Describe the Kotlin task and platform, for example an Android Compose screen or a Ktor route.
  6. 6Review and run the output. Build, lint and test the generated code yourself before merging it.

What is an agent skill and what does this one do?

An agent skill is a folder of instructions that an AI agent can load when a task matches it. The skill's main file, SKILL.md, describes the workflow and rules, and reference notes in a references folder hold detail for specific topics.

This skill covers coroutines and Flow streams, Kotlin Multiplatform code sharing, Android Jetpack Compose UI, Ktor server setup, and type-safe DSL design. It tells the agent to model state with sealed classes, avoid unsafe null handling and GlobalScope, and run detekt and ktlint as a validation step. Its output is Kotlin source code, which someone still has to review, build and run.

  • Sealed classes for UI state such as Loading, Success and Error
  • Flow and StateFlow for reactive streams, with structured concurrency instead of GlobalScope
  • Compose screens built from Material3 components and a ViewModel
  • Ktor routing, plugins, authentication and serialization
  • Test guidance using JUnit 5, MockK, Turbine and kotlinx-coroutines-test

How do you install the Kotlin Specialist skill?

Download the ZIP of the kotlin-specialist skill from this page. Then choose one of two routes.

For Claude Code, unzip the download into ~/.claude/skills/ to make it available for all your projects, or into a project's .claude/skills/ folder to limit it to that project. For the Claude apps, upload the skill under Settings → Capabilities → Skills.

  • Personal install: unzip into ~/.claude/skills/
  • Project install: unzip into the project's .claude/skills/
  • Claude apps: Settings → Capabilities → Skills, then upload

What do you need before using it?

The skill's guidance targets Kotlin 1.9+ patterns, so you need a Kotlin 1.9+ toolchain and Gradle. The validation step expects detekt and ktlint to be available. The test guidance references JUnit 5, MockK, Turbine and kotlinx-coroutines-test.

The skill does not run scripts and does not use the network, according to its metadata. It is not suited to projects that use no Kotlin or need an older Kotlin version.

  • Kotlin 1.9+ and Gradle
  • detekt and ktlint for the validation step
  • JUnit 5, MockK, Turbine and kotlinx-coroutines-test for tests

How do you trigger the skill with a natural request?

You do not need special syntax. Describe the Kotlin task in plain language and mention the topic. The skill's description lists trigger terms such as Flow API, KMP projects, Ktor servers, DSL design, sealed classes, suspend function, Android Kotlin and Kotlin Multiplatform, so using those words helps the agent pick it up.

Be specific about the platform and the goal. A request that names the target, such as Android with Compose or a Ktor backend, lets the agent load the matching reference notes.

  • "Write a Compose screen that shows a user profile with loading and error states using a sealed UiState."
  • "Set up a Ktor server with routing, JWT authentication and kotlinx.serialization."
  • "Create a Flow-based repository that emits Loading, then Success or Error."
  • "Share a validation module between Android and iOS with Kotlin Multiplatform."

What does the skill produce, with an example?

For a feature request the skill asks the agent to provide data models, an implementation file with suspend functions and extension functions, a test file with coroutine test support, and a short explanation of the Kotlin patterns used.

The skill's sample shows a sealed UI state rendered with an exhaustive when, so the compiler checks every branch. A repository exposes a Flow that emits Loading first, then Success or Error, and runs on Dispatchers.IO.

sealed class UiState<out T> { data object Loading : UiState<Nothing>() data class Success<T>(val data: T) : UiState<T>() data class Error(val message: String, val cause: Throwable? = null) : UiState<Nothing>() }

How should you check the code the agent writes?

Treat the output as a draft. The skill's workflow includes a checkpoint for coroutine cancellation and null safety, and a validation step that runs detekt and ktlint and asks the agent to fix reported issues before continuing. Ask the agent to show you the results of those tools, then build and run the project and its tests yourself.

Watch for the things the skill forbids: runBlocking in production code, unexplained !!, GlobalScope.launch, and ignored cancellation. If you see them, ask the agent to revise.

  • Confirm detekt and ktlint pass in your own build
  • Check that scopes are cancelled on teardown
  • Search the output for !!, runBlocking and GlobalScope

Safety notes: scripts and network

The skill's metadata says it runs no scripts and uses no network. It only supplies guidance and code patterns. Any commands the agent runs, such as Gradle builds or detekt, happen in your environment under your control, so review them before approving.

Read the SKILL.md and reference files after unzipping if you want to confirm what the agent is being told.

Tips for getting better results

Name the framework and the version of Kotlin you use, since the guidance targets 1.9+. Ask for tests with each feature so the agent produces the test file the skill's output template expects. For multiplatform work, state which code is common and which is platform-specific, because the skill says not to mix platform code into common modules.

  • State your Kotlin version and build tool
  • Ask for tests alongside the implementation
  • Say which code belongs in common modules and which in platform source sets

What people use it for

  • Building a Jetpack Compose profile screen with a sealed UiState for loading and error handling
  • Writing a repository that exposes a StateFlow and cancels its work with the parent scope
  • Setting up a Ktor server with routing, authentication and serialization
  • Designing a type-safe DSL for building configuration or HTML-like structures
  • Organising shared Kotlin Multiplatform logic with expect/actual declarations

Frequently asked questions

How do I install the kotlin-specialist skill?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder. In the Claude apps, you can instead upload it under Settings → Capabilities → Skills.

What do I need to use the kotlin-specialist skill?

The guidance targets Kotlin 1.9+ patterns, so you need a Kotlin 1.9+ toolchain and Gradle. The validation step uses detekt and ktlint, and the test guidance references JUnit 5, MockK, Turbine and kotlinx-coroutines-test.

Is the kotlin-specialist skill free to use?

The skill is published under the MIT licence, as stated in its metadata. The source does not mention pricing, so check the licence text for the terms that apply.

Does the skill run scripts or use the network?

According to its metadata, the skill runs no scripts and uses no network. It provides guidance and code patterns, and any builds or tools run in your own environment.

Does this skill work for projects that do not use Kotlin?

No. The skill is for Kotlin code, and its guidance targets Kotlin 1.9+ patterns, so it is not suited to projects that do not use Kotlin or that require an older Kotlin version.

Can a non-programmer use this skill?

The output is Kotlin source code that still needs to be reviewed, built and run by someone who understands it. Non-programmers will find it hard to judge whether the generated code is correct.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use this skill if you are building Android apps with Jetpack Compose, starting a Kotlin Multiplatform project, or setting up Ktor servers, and you want an agent to follow consistent modern Kotlin patterns. Pick something else if you do not use Kotlin, need an older Kotlin version, or cannot review and run generated code yourself.

Download the skill