#822 by GitHub stars

Kotlin/kotlin-agent-skills

A collection of AI agent skills useful for projects using Kotlin language

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/kotlin-backend-jpa-entity-mapping/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Not checked yet → After Instructions only

c2f90697bf71 → 087f5689c193

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

skills/kotlin-tooling-agp9-migration/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

c2f90697bf71 → 087f5689c193

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

skills/kotlin-tooling-cocoapods-spm-migration/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

c2f90697bf71 → 087f5689c193

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

skills/kotlin-tooling-gradle-to-kotlin-toolchain-plugin/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

c2f90697bf71 → 087f5689c193

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

skills/kotlin-tooling-gradle-to-kotlin-toolchain-project/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

c2f90697bf71 → 087f5689c193

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

skills/kotlin-tooling-immutable-collections-0-5-x-migration/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

c2f90697bf71 → 087f5689c193

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

skills/kotlin-tooling-java-to-kotlin/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

c2f90697bf71 → 087f5689c193

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

skills/kotlin-tooling-kotlin-toolchain/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

c2f90697bf71 → 087f5689c193

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

skills/kotlin-tooling-kotlin-toolchain-plugin-authoring/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

c2f90697bf71 → 087f5689c193

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

skills/kotlin-tooling-native-build-performance/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

c2f90697bf71 → 087f5689c193

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 087f5689c1934135ed58718cdf524525e452b7e9

git clone --filter=blob:none --no-checkout https://github.com/Kotlin/kotlin-agent-skills.git .hotskills/kotlin-kotlin-agent-skills && git -C .hotskills/kotlin-kotlin-agent-skills checkout --detach 087f5689c1934135ed58718cdf524525e452b7e9 # Copy each selected skill directory from .hotskills/kotlin-kotlin-agent-skills into .claude/skills/<skill-name>/
1.1kGitHub stars
8stars in 7 days
10skills in this repository
1commit in 30 days

Heat

5.2
  • Star growth, last 7 daysAhead of 79% of tracked repositories
  • Star growth, last 24 hoursAhead of 70% of tracked repositories
  • Rank movement, last 7 daysAhead of 11% of tracked repositories
  • Commits, last 30 daysAhead of 54% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 1, 2026Nov 5, 20261,110

Individual skills in this repository

How it works

kotlin-backend-jpa-entity-mapping

When your agent uses it

Model Kotlin persistence code correctly for Spring Data JPA and Hibernate. Covers entity design, identity and equality, uniqueness constraints, relationships, fetch plans, and common ORM (Object-Relational Mapping) traps specific to Kotlin. Use when creating or reviewing JPA (Java Persistence API) entities, diagnosing N+1 or LazyInitializationException, placing indexes and uniqueness rules, or preventing Kotlin-specific bugs such as data class entities and broken equals/hashCode.

What it loads into context

Frontmatter

141 tokens

Always available to the agent

SKILL.md

1,633 tokens

When the skill is activated

Reference documents

0 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Entity Design Rules
  2. Identity and Equality
  3. Uniqueness Constraints
  4. Query and Fetch Rules
  5. Common ORM Traps
  6. Guardrails

Files

  • ../../.claude-plugin/marketplace.jsonasset269 bytes
  • ../../plugins/kotlin-agent-skills/.claude-plugin/plugin.jsonasset323 bytes
  • SKILL.mdcore7,439 bytes
Read SKILL.md

# JPA Entity Mapping for Kotlin

Kotlin's `data class` is natural for DTOs but dangerous for JPA entities. Hibernate relies on
identity semantics that `data class` breaks: `equals`/`hashCode` over all fields corrupts
`Set`/`Map` membership after state changes, and auto-generated `copy()` creates detached
duplicates of managed entities.

This skill teaches correct entity design, identity strategies, and uniqueness constraints
for Kotlin + Spring Data JPA projects.

## Entity Design Rules

- **Never use `data class` for JPA entities.** Use a regular `class`. Keep `data class` for DTOs.
- Keep transport DTOs and persistence entities separate unless the project clearly uses a shared model.
View the complete source on GitHub

Skills included

  • kotlin-backend-jpa-entity-mapping
  • kotlin-tooling-agp9-migration
  • kotlin-tooling-cocoapods-spm-migration
  • kotlin-tooling-gradle-to-kotlin-toolchain-plugin
  • kotlin-tooling-gradle-to-kotlin-toolchain-project
  • kotlin-tooling-immutable-collections-0-5-x-migration
  • kotlin-tooling-java-to-kotlin
  • kotlin-tooling-kotlin-toolchain
  • kotlin-tooling-kotlin-toolchain-plugin-authoring
  • kotlin-tooling-native-build-performance

Repository facts

License
Apache-2.0
Created
Mar 13, 2026
Last pushed
Oct 30, 2026
Forks
45
Open issues
10
Project activity
Active

Rank over the last 12 weeks

Now #822 · best #545 · down 159 in 30 days

  1. #809 on Nov 1
  2. #817 on Nov 2
  3. #821 on Nov 3
  4. #822 on Nov 4
  5. #820 on Nov 5
  6. #822 since Nov 6
61 earlier periods
  1. #599 on Aug 1
  2. #539 on Aug 7
  3. #561 on Aug 10
  4. #563 on Aug 11
  5. #559 on Aug 12
  6. #564 on Aug 13
  7. #562 on Aug 14
  8. #545 on Aug 15
  9. #559 on Aug 16
  10. #563 on Aug 17
  11. #571 on Aug 20
  12. #586 from Aug 23 to Aug 24
  13. #604 on Aug 25
  14. #598 on Aug 27
  15. #611 on Aug 28
  16. #571 on Aug 29
  17. #592 on Aug 31
  18. #608 on Sep 1
  19. #602 on Sep 2
  20. #604 on Sep 3
  21. #583 on Sep 5
  22. #593 on Sep 6
  23. #602 on Sep 7
  24. #619 on Sep 8
  25. #608 on Sep 9
  26. #613 on Sep 10
  27. #600 on Sep 11
  28. #602 on Sep 12
  29. #621 on Sep 14
  30. #632 on Sep 16
  31. #630 on Sep 18
  32. #607 on Sep 19
  33. #624 on Sep 20
  34. #640 on Sep 21
  35. #649 on Sep 23
  36. #626 on Sep 24
  37. #617 on Sep 26
  38. #641 on Sep 27
  39. #647 on Sep 28
  40. #684 on Sep 29
  41. #665 on Sep 30
  42. #633 on Oct 1
  43. #621 on Oct 3
  44. #644 on Oct 4
  45. #651 on Oct 5
  46. #663 on Oct 7
  47. #701 on Oct 8
  48. #667 on Oct 10
  49. #681 on Oct 13
  50. #695 on Oct 14
  51. #689 on Oct 15
  52. #698 on Oct 16
  53. #671 on Oct 18
  54. #709 on Oct 19
  55. #717 on Oct 20
  56. #678 on Oct 24
  57. #792 on Oct 25
  58. #798 on Oct 28
  59. #802 on Oct 29
  60. #804 on Oct 30
  61. #808 on Oct 31

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 3, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 41 notes
  • skills/kotlin-tooling-agp9-migration/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-agp9-migration/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-cocoapods-spm-migration/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-cocoapods-spm-migration/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-cocoapods-spm-migration/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-cocoapods-spm-migration/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-cocoapods-spm-migration/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-cocoapods-spm-migration/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-cocoapods-spm-migration/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-cocoapods-spm-migration/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-cocoapods-spm-migration/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-cocoapods-spm-migration/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-cocoapods-spm-migration/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-cocoapods-spm-migration/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-cocoapods-spm-migration/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-cocoapods-spm-migration/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-cocoapods-spm-migration/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-gradle-to-kotlin-toolchain-plugin/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-gradle-to-kotlin-toolchain-plugin/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/kotlin-tooling-gradle-to-kotlin-toolchain-plugin/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 161 signals by file

plugins/kotlin-agent-skills/.claude-plugin/plugin.json

  • Network accessline 6
    "name": "JetBrains"   },   "repository": "https://github.com/Kotlin/kotlin-agent-skills",
  • Network accessline 7
    },   "repository": "https://github.com/Kotlin/kotlin-agent-skills",   "license": "Apache-2.0",
  • Network accessline 8
    "repository": "https://github.com/Kotlin/kotlin-agent-skills",

skills/kotlin-tooling-agp9-migration/SKILL.md

  • Network accessline 477
    ### KMP Library Plugin Issues - **BuildConfig unavailable** in library modules — use DI/`AppConfiguration` interface, or use [BuildKonfig](https://github.com/yshrsmz/BuildKonfig) or [gradle-buildconfig-plugin](https://github.com/gmazzo/grad
  • Network accessline 478
    - **BuildConfig unavailable** in library modules — use DI/`AppConfiguration` interface, or use [BuildKonfig](https://github.com/yshrsmz/BuildKonfig) or [gradle-buildconfig-plugin](https://github.com/gmazzo/gradle-buildconfig-plugin) for com

skills/kotlin-tooling-agp9-migration/references/KNOWN-ISSUES.md

  • Network accessline 26
    actual val versionName: String = context.packageManager         .getPackageInfo(context.packageName, 0).versionName ?: "unknown"     actual val apiBaseUrl: String = if (isDebug) "https://dev.api.example.com" else "https://api.example.com"
  • Network accessline 27
    .getPackageInfo(context.packageName, 0).versionName ?: "unknown"     actual val apiBaseUrl: String = if (isDebug) "https://dev.api.example.com" else "https://api.example.com" }
  • Network accessline 28
    actual val apiBaseUrl: String = if (isDebug) "https://dev.api.example.com" else "https://api.example.com"
  • Network accessline 33
    actual val isDebug: Boolean = Platform.isDebugBinary     actual val versionName: String = NSBundle.mainBundle.objectForInfoDictionaryKey("CFBundleShortVersionString") as? String ?: "unknown"     actual val apiBaseUrl: String = if (isDebug) 
  • Network accessline 34
    actual val versionName: String = NSBundle.mainBundle.objectForInfoDictionaryKey("CFBundleShortVersionString") as? String ?: "unknown"     actual val apiBaseUrl: String = if (isDebug) "https://dev.api.example.com" else "https://api.example.c
  • Network accessline 35
    actual val apiBaseUrl: String = if (isDebug) "https://dev.api.example.com" else "https://api.example.com"
  • Network accessline 41
    **Alternative A — BuildKonfig plugin** ([github.com/yshrsmz/BuildKonfig](https://github.com/yshrsmz/BuildKonfig)):
  • Network accessline 55
    defaultConfigs {         buildConfigField(STRING, "API_BASE_URL", "https://api.example.com")
  • Network accessline 56
    buildConfigField(STRING, "API_BASE_URL", "https://api.example.com")
  • Network accessline 77
    defaultConfigs("dev") {     buildConfigField(STRING, "API_BASE_URL", "https://dev.api.example.com")
  • Network accessline 78
    buildConfigField(STRING, "API_BASE_URL", "https://dev.api.example.com")
  • Network accessline 80
    } defaultConfigs("release") {     buildConfigField(STRING, "API_BASE_URL", "https://api.example.com")
  • Network accessline 81
    defaultConfigs("release") {     buildConfigField(STRING, "API_BASE_URL", "https://api.example.com")     buildConfigField(BOOLEAN, "IS_DEBUG", "false")
  • Network accessline 82
    buildConfigField(STRING, "API_BASE_URL", "https://api.example.com")
  • Network accessline 87
    **Alternative B — gradle-buildconfig-plugin** ([github.com/gmazzo/gradle-buildconfig-plugin](https://github.com/gmazzo/gradle-buildconfig-plugin)):

skills/kotlin-tooling-agp9-migration/scripts/analyze-project.sh

  • Executable scriptline 1
    #!/bin/sh

skills/kotlin-tooling-cocoapods-spm-migration/SKILL.md

  • Network accessline 87
    This property was a workaround (see [KT-64096](https://youtrack.jetbrains.com/issue/KT-64096)) for projects using `embedAndSign` alongside CocoaPods dependencies. It suppresses an error about unsupported configurations that can cause runtim
  • Network accessline 99
    | Library | Maven artifact | Bundled klib namespace | Classes provided | |---------|---------------|----------------------|-----------------| | [KMPNotifier](https://github.com/mirzemehdi/KMPNotifier) | `io.github.mirzemehdi:kmpnotifier` | 
  • Network accessline 101
    | [KMPNotifier](https://github.com/mirzemehdi/KMPNotifier) | `io.github.mirzemehdi:kmpnotifier` | `cocoapods.FirebaseMessaging` | `FIRMessaging`, `FIRMessagingAPNSTokenType`, etc. |
  • Network accessline 177
    swiftPackage(url = "https://github.com/owner/repo.git", version = "1.0.0", products = listOf("ProductName"))
  • Network accessline 199
    swiftPackage(             url = "https://github.com/owner/repo.git",
  • Network accessline 200
    url = "https://github.com/owner/repo.git",
  • Network accessline 309
    **Example** (project using [KMPNotifier](https://github.com/mirzemehdi/KMPNotifier)):
  • Dangerous shell operationline 376
    rm -rf Podfile Podfile.lock Pods/
  • Dangerous shell operationline 379
    rm -rf "${XCODEPROJ_NAME}.xcworkspace"
  • Dangerous shell operationline 385
    # rm -f shared.podspec

skills/kotlin-tooling-cocoapods-spm-migration/references/common-pods-mapping.md

  • Network accessline 7
    All Firebase products come from a single repository: `https://github.com/firebase/firebase-ios-sdk.git`
  • Network accessline 47
    // SwiftPM — use same version as pod swiftPackage(     url = "https://github.com/firebase/firebase-ios-sdk.git",
  • Network accessline 48
    swiftPackage(     url = "https://github.com/firebase/firebase-ios-sdk.git",     version = "12.5.0",
  • Network accessline 49
    url = "https://github.com/firebase/firebase-ios-sdk.git",
  • Network accessline 67
    // SwiftPM — use same version as pod swiftPackage(     url = "https://github.com/firebase/firebase-ios-sdk.git",
  • Network accessline 68
    swiftPackage(     url = "https://github.com/firebase/firebase-ios-sdk.git",     version = "12.5.0",
  • Network accessline 69
    url = "https://github.com/firebase/firebase-ios-sdk.git",
  • Network accessline 89
    // SwiftPM - Note the importedClangModules parameter (typed API required) swiftPackage(     url = url("https://github.com/firebase/firebase-ios-sdk.git"),
  • Network accessline 90
    swiftPackage(     url = url("https://github.com/firebase/firebase-ios-sdk.git"),     version = from("12.5.0"),
  • Network accessline 91
    url = url("https://github.com/firebase/firebase-ios-sdk.git"),
  • Network accessline 112
    // SwiftPM - Note the importedClangModules parameter (typed API required) swiftPackage(     url = url("https://github.com/firebase/firebase-ios-sdk.git"),
  • Network accessline 113
    swiftPackage(     url = url("https://github.com/firebase/firebase-ios-sdk.git"),     version = from("12.5.0"),
  • Network accessline 114
    url = url("https://github.com/firebase/firebase-ios-sdk.git"),
  • Network accessline 135
    // SwiftPM — use same version as pod swiftPackage(     url = "https://github.com/firebase/firebase-ios-sdk.git",
  • Network accessline 136
    swiftPackage(     url = "https://github.com/firebase/firebase-ios-sdk.git",     version = "12.5.0",
  • Network accessline 137
    url = "https://github.com/firebase/firebase-ios-sdk.git",
  • Network accessline 168
    // Combined Firebase requires typed API for importedClangModules control     swiftPackage(         url = url("https://github.com/firebase/firebase-ios-sdk.git"),
  • Network accessline 169
    swiftPackage(         url = url("https://github.com/firebase/firebase-ios-sdk.git"),         version = from("12.5.0"),
  • Network accessline 170
    url = url("https://github.com/firebase/firebase-ios-sdk.git"),
  • Network accessline 239
    Repository: `https://github.com/googlemaps/ios-maps-sdk.git`
  • Network accessline 246
    - CocoaPods subspec `GoogleMaps/Maps` maps to the single `GoogleMaps` SPM product - Requires a Google Maps Platform API key configured in the iOS app - Check [releases](https://github.com/googlemaps/ios-maps-sdk/releases) for available SPM 
  • Network accessline 248
    - Check [releases](https://github.com/googlemaps/ios-maps-sdk/releases) for available SPM versions
  • Network accessline 254
    // SwiftPM — use the exact same version as the pod swiftPackage(     url = "https://github.com/googlemaps/ios-maps-sdk.git",
  • Network accessline 255
    swiftPackage(     url = "https://github.com/googlemaps/ios-maps-sdk.git",     version = "10.10.0",
  • Network accessline 256
    url = "https://github.com/googlemaps/ios-maps-sdk.git",
  • Access to secretsline 274
    [Credential-related source omitted]
  • Network accessline 281
    Repository: `https://github.com/google/GoogleSignIn-iOS.git`
  • Network accessline 293
    // SwiftPM — use same version as pod swiftPackage(     url = "https://github.com/google/GoogleSignIn-iOS.git",
  • Network accessline 294
    swiftPackage(     url = "https://github.com/google/GoogleSignIn-iOS.git",     version = "8.0.0",
  • Network accessline 295
    url = "https://github.com/google/GoogleSignIn-iOS.git",
  • Network accessline 307
    **iOS project requirement:** Add `GIDClientID` to `Info.plist` and configure the URL scheme for OAuth redirect. See [Google Sign-In iOS docs](https://developers.google.com/identity/sign-in/ios/start-integrating).
  • Network accessline 319
    // SwiftPM — use same version as pod swiftPackage(     url = "https://github.com/lukaskubanek/LoremIpsum.git",
  • Network accessline 320
    swiftPackage(     url = "https://github.com/lukaskubanek/LoremIpsum.git",     version = "2.0.1",
  • Network accessline 321
    url = "https://github.com/lukaskubanek/LoremIpsum.git",
  • Network accessline 366
    Repository: [https://github.com/mirzemehdi/KMPNotifier](https://github.com/mirzemehdi/KMPNotifier)
  • Network accessline 376
    **Verifying bundled klib contents:** Use `klib dump-metadata-signatures` to inspect what a library's klib provides ([docs](https://kotlinlang.org/docs/native-libraries.html#using-kotlin-native-compiler)):
  • Network accessline 394
    Repository: [https://github.com/GitLiveApp/firebase-kotlin-sdk](https://github.com/GitLiveApp/firebase-kotlin-sdk)
  • Network accessline 434
    1. **Check GitHub repository** - Look for a `Package.swift` file in the repo 2. **Check CocoaPods spec** - The `source` field often points to the Git URL 3. **Search Swift Package Index** - https://swiftpackageindex.com/
  • Network accessline 435
    2. **Check CocoaPods spec** - The `source` field often points to the Git URL 3. **Search Swift Package Index** - https://swiftpackageindex.com/ 4. **Check library documentation** - Many libraries document SPM installation
  • Network accessline 436
    3. **Search Swift Package Index** - https://swiftpackageindex.com/
  • Network accessline 450
    If you suspect a KMP library bundles its own cinterop klibs (common for libraries wrapping iOS SDKs), use the `klib` tool to inspect them ([docs](https://kotlinlang.org/docs/native-libraries.html#using-kotlin-native-compiler)):

skills/kotlin-tooling-cocoapods-spm-migration/references/dsl-reference.md

  • Network accessline 46
    swiftPackage(     url = "https://github.com/owner/repo.git",
  • Network accessline 47
    url = "https://github.com/owner/repo.git",
  • Network accessline 58
    swiftPackage(     url = url("https://github.com/owner/repo.git"),
  • Network accessline 59
    url = url("https://github.com/owner/repo.git"),
  • Network accessline 175
    swiftPackage(         url = url("https://github.com/firebase/firebase-ios-sdk.git"),
  • Network accessline 176
    url = url("https://github.com/firebase/firebase-ios-sdk.git"),
  • Network accessline 242
    // Simple API — most packages         swiftPackage(             url = "https://github.com/lukaskubanek/LoremIpsum.git",
  • Network accessline 243
    swiftPackage(             url = "https://github.com/lukaskubanek/LoremIpsum.git",             version = "2.0.1",
  • Network accessline 244
    url = "https://github.com/lukaskubanek/LoremIpsum.git",
  • Network accessline 249
    // Simple API — Google Maps         swiftPackage(             url = "https://github.com/googlemaps/ios-maps-sdk.git",
  • Network accessline 250
    swiftPackage(             url = "https://github.com/googlemaps/ios-maps-sdk.git",             version = "10.3.0",
  • Network accessline 251
    url = "https://github.com/googlemaps/ios-maps-sdk.git",
  • Network accessline 279
    // Main dependency     swiftPackage(         url = "https://github.com/firebase/firebase-ios-sdk.git",
  • Network accessline 280
    swiftPackage(         url = "https://github.com/firebase/firebase-ios-sdk.git",         version = "12.5.0",
  • Network accessline 281
    url = "https://github.com/firebase/firebase-ios-sdk.git",
  • Network accessline 286
    // Transitive dependency with explicit version pin     swiftPackage(         url = url("https://github.com/apple/swift-protobuf.git"),
  • Network accessline 287
    swiftPackage(         url = url("https://github.com/apple/swift-protobuf.git"),         version = exact("1.32.0"),
  • Network accessline 288
    url = url("https://github.com/apple/swift-protobuf.git"),

skills/kotlin-tooling-cocoapods-spm-migration/references/troubleshooting.md

  • Network accessline 169
    **Cause:** A third-party KMP library (e.g., [KMPNotifier](https://github.com/mirzemehdi/KMPNotifier) — `io.github.mirzemehdi:kmpnotifier`) bundles its own pre-built cinterop klib with the `cocoapods.FirebaseMessaging` namespace. The swiftPM
  • Network accessline 181
    **How to identify bundled klibs in advance:** Check if the project depends on KMP libraries that wrap iOS SDKs. Known libraries: [KMPNotifier](https://github.com/mirzemehdi/KMPNotifier) (bundles `cocoapods.FirebaseMessaging`). Also check fo
  • Network accessline 183
    **Inspecting klib contents:** Use `klib dump-metadata-signatures` to verify which classes a klib provides ([docs](https://kotlinlang.org/docs/native-libraries.html#using-kotlin-native-compiler)):
  • Network accessline 216
    **Cause:** [firebase-kotlin-sdk](https://github.com/GitLiveApp/firebase-kotlin-sdk) (`dev.gitlive:firebase-*`) was published with CocoaPods-era cinterop klibs. These klibs have `-framework FirebaseCore`, `-framework FirebaseAuth`, etc. bake
  • Network accessline 297
    swiftPackage(         url = url("https://github.com/firebase/firebase-ios-sdk.git"),
  • Network accessline 298
    url = url("https://github.com/firebase/firebase-ios-sdk.git"),
  • Network accessline 336
    swiftPackage(     url = url("https://github.com/firebase/firebase-ios-sdk.git"),
  • Network accessline 337
    url = url("https://github.com/firebase/firebase-ios-sdk.git"),
  • Network accessline 431
    swiftPackage(     url = url("https://github.com/googlemaps/ios-maps-sdk.git"),
  • Network accessline 432
    url = url("https://github.com/googlemaps/ios-maps-sdk.git"),
  • Network accessline 440
    Check [releases page](https://github.com/googlemaps/ios-maps-sdk/releases) for valid versions.
  • Network accessline 582
    1. **Check sample projects:**    - [kmp-with-cocoapods-compose-sample (spm_import branch)](https://github.com/Kotlin/kmp-with-cocoapods-compose-sample/tree/spm_import)
  • Network accessline 583
    - [kmp-with-cocoapods-compose-sample (spm_import branch)](https://github.com/Kotlin/kmp-with-cocoapods-compose-sample/tree/spm_import)
  • Network accessline 584
    - [kmp-with-cocoapods-firebase-sample (spm_import branch)](https://github.com/Kotlin/kmp-with-cocoapods-firebase-sample/tree/spm_import)
  • Network accessline 594
    4. **Inspect klib contents** using the `klib` tool ([docs](https://kotlinlang.org/docs/native-libraries.html#using-kotlin-native-compiler)):

skills/kotlin-tooling-gradle-to-kotlin-toolchain-plugin/SKILL.md

  • Network accessline 317
    Plugin docs: <https://kotlin-toolchain.org/dev/user-guide/plugins/>
  • Network accessline 317
    Plugin docs: <https://kotlin-toolchain.org/dev/user-guide/plugins/>

skills/kotlin-tooling-gradle-to-kotlin-toolchain-project/SKILL.md

  • Network accessline 95
    1. `JetBrains/kotlin-toolchain` → [`build-sources/`](https://github.com/JetBrains/kotlin-toolchain/tree/main/build-sources)
  • Network accessline 113
    1. Copy `kotlin` / `kotlin.bat` from a reference Toolchain project (for example [this one](https://github.com/JetBrains/kotlin-toolchain)) or `kotlin init` in a scratch dir. Pin
  • Network accessline 265
    } kotlin { jvmToolchain(21) } repositories { maven("https://jitpack.io") }
  • Network accessline 266
    kotlin { jvmToolchain(21) } repositories { maven("https://jitpack.io") } dependencies {
  • Network accessline 267
    repositories { maven("https://jitpack.io") }
  • Network accessline 283
    repositories:   - id: jitpack     url: https://jitpack.io
  • Network accessline 285
    url: https://jitpack.io
  • Network accessline 422
    Kotlin Toolchain docs: <https://kotlin-toolchain.org/dev/>

skills/kotlin-tooling-gradle-to-kotlin-toolchain-project/references/examples.md

  • Network accessline 36
    repositories:   - id: jitpack     url: https://jitpack.io
  • Network accessline 38
    url: https://jitpack.io
  • Network accessline 99
    Dependabot gates on `SUPPORTED_BUILD_FILE_NAMES = %w(build.gradle build.gradle.kts)` — <https://github.com/dependabot/dependabot-core/blob/main/gradle/lib/dependabot/gradle/file_fetcher.rb>.
  • Network accessline 100
    <https://github.com/dependabot/dependabot-core/blob/main/gradle/lib/dependabot/gradle/file_fetcher.rb>.

skills/kotlin-tooling-immutable-collections-0-5-x-migration/SKILL.md

  • Network accessline 170
    [KEEP-0459]: https://github.com/Kotlin/KEEP/blob/main/proposals/KEEP-0459-naming-conventions-for-copy-returning-operations.md
  • Network accessline 171
    [`0.5.0-MIGRATION.md`]: https://github.com/Kotlin/kotlinx.collections.immutable/blob/master/docs/0.5.0-MIGRATION.md
  • Network accessline 172
    [Maven Central]: https://central.sonatype.com/artifact/org.jetbrains.kotlinx/kotlinx-collections-immutable/versions

skills/kotlin-tooling-kotlin-toolchain-plugin-authoring/SKILL.md

  • Network accessline 251
    Plugin docs: <https://kotlin-toolchain.org/dev/user-guide/plugins/>

skills/kotlin-tooling-kotlin-toolchain/SKILL.md

  • Network accessline 33
    The `kotlin` command then auto-provisions its JDK on first use. Other install options (installer scripts, IntelliJ IDEA plugin) live at <https://kotlin-toolchain.org/>.
  • Network accessline 34
    IntelliJ IDEA plugin) live at <https://kotlin-toolchain.org/>.
  • Network accessline 100
    paths are relative to the module root. Interpolation works only in `plugin.yaml`. - The module name is the basename of the directory holding `module.yaml`. There is no `name:` field. - Tests use [kotlin.test](https://kotlinlang.org/api/late
  • Network accessline 102
    - Tests use [kotlin.test](https://kotlinlang.org/api/latest/kotlin.test/) by default, no dependency needed.
  • Network accessline 224
    - Docs: <https://kotlin-toolchain.org/>
  • Network accessline 225
    - Source: <https://github.com/JetBrains/kotlin-toolchain>

skills/kotlin-tooling-kotlin-toolchain/evals/EVALUATION.md

  • Network accessline 4
    Kotlin project with Android and iOS platforms *without* the skill, and **arm B** runs the identical prompt *with* the `kotlin-tooling-kotlin-toolchain` skill mounted. Both arms run the [Kotlin Toolchain](https://kotlin-toolchain.org/) `0.11
  • Network accessline 5
    runs the identical prompt *with* the `kotlin-tooling-kotlin-toolchain` skill mounted. Both arms run the [Kotlin Toolchain](https://kotlin-toolchain.org/) `0.11.1` CLI, and the verifier scores whether the result is a working Toolchain projec
  • Network accessline 6
    Both arms run the [Kotlin Toolchain](https://kotlin-toolchain.org/) `0.11.1`

skills/kotlin-tooling-native-build-performance/SKILL.md

  • Network accessline 146
    | Topic | Link | |---|---| | Improving Kotlin/Native compilation time | https://kotlinlang.org/docs/native-improving-compilation-time.html |
  • Network accessline 147
    |---|---| | Improving Kotlin/Native compilation time | https://kotlinlang.org/docs/native-improving-compilation-time.html | | Kotlin Gradle plugin compilation and caches | https://kotlinlang.org/docs/gradle-compilation-and-caches.html |
  • Network accessline 148
    | Improving Kotlin/Native compilation time | https://kotlinlang.org/docs/native-improving-compilation-time.html |
  • Network accessline 149
    | Kotlin Gradle plugin compilation and caches | https://kotlinlang.org/docs/gradle-compilation-and-caches.html |
  • Network accessline 150
    | iOS integration methods | https://kotlinlang.org/docs/multiplatform-ios-integration-overview.html |
  • Network accessline 151
    | Direct integration with Xcode | https://kotlinlang.org/docs/multiplatform/multiplatform-direct-integration.html |
  • Network accessline 152
    | Building final native binaries and XCFrameworks | https://kotlinlang.org/docs/multiplatform/multiplatform-build-native-binaries.html |
  • Network accessline 153
    | Kotlin/Native binary options | https://kotlinlang.org/docs/native-binary-options.html |
  • Network accessline 154
    | KSP with Kotlin Multiplatform | https://kotlinlang.org/docs/ksp-multiplatform.html |

skills/kotlin-tooling-native-build-performance/evals/EVALUATION.md

  • Network accessline 3
    This skill is A/B evaluated with the JetBrains [`skills-ab-eval`](https://github.com/JetBrains/skills-ab-eval-cookbook) tool.
  • Network accessline 4
    The suite lives at [`kotlin-tooling-native-build-performance`](https://github.com/JetBrains/skills-ab-eval-cookbook/tree/main/kotlin-tooling-native-build-performance) and contains two tasks:
  • Network accessline 5
    [`kotlin-tooling-native-build-performance`](https://github.com/JetBrains/skills-ab-eval-cookbook/tree/main/kotlin-tooling-native-build-performance)

skills/kotlin-tooling-native-build-performance/references/artifacts-and-targets.md

  • Network accessline 41
    Docs: https://kotlinlang.org/docs/multiplatform-ios-integration-overview.html,
  • Network accessline 42
    https://kotlinlang.org/docs/multiplatform-ios-integration-overview.html,
  • Network accessline 43
    https://kotlinlang.org/docs/multiplatform/multiplatform-direct-integration.html,
  • Network accessline 44
    https://kotlinlang.org/docs/multiplatform/multiplatform-build-native-binaries.html

skills/kotlin-tooling-native-build-performance/references/caching-and-gradle.md

  • Network accessline 10
    if the project is behind. Read the compatibility guide for the target release before upgrading; for example, use the [Kotlin 2.4 compatibility guide](https://kotlinlang.org/docs/compatibility-guide-24.html)
  • Network accessline 11
    before upgrading; for example, use the [Kotlin 2.4 compatibility guide](https://kotlinlang.org/docs/compatibility-guide-24.html) when moving to Kotlin 2.4.x. Each target release has a corresponding
  • Network accessline 12
    [Kotlin 2.4 compatibility guide](https://kotlinlang.org/docs/compatibility-guide-24.html)
  • Network accessline 13
    when moving to Kotlin 2.4.x. Each target release has a corresponding compatibility guide. See the [Kotlin 2.3.20 release notes](https://kotlinlang.org/docs/whatsnew2320.html#new-dsl-for-disabling-compilation-cache)
  • Network accessline 14
    compatibility guide. See the [Kotlin 2.3.20 release notes](https://kotlinlang.org/docs/whatsnew2320.html#new-dsl-for-disabling-compilation-cache) for the related cache change.
  • Network accessline 15
    [Kotlin 2.3.20 release notes](https://kotlinlang.org/docs/whatsnew2320.html#new-dsl-for-disabling-compilation-cache)
  • Network accessline 67
    Docs: https://kotlinlang.org/docs/native-improving-compilation-time.html and
  • Network accessline 68
    https://kotlinlang.org/docs/gradle-compilation-and-caches.html

skills/kotlin-tooling-native-build-performance/references/experimental.md

  • Network accessline 31
    Docs: https://kotlinlang.org/docs/native-binary-options.html and
  • Network accessline 32
    https://kotlinlang.org/docs/native-improving-compilation-time.html

skills/kotlin-tooling-native-build-performance/references/exports-and-generated-code.md

  • Network accessline 49
    Docs: https://kotlinlang.org/docs/ksp-multiplatform.html and
  • Network accessline 50
    https://kotlinlang.org/docs/native-improving-compilation-time.html

skills/kotlin-tooling-native-build-performance/scripts/audit-native-build.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 158 facts

and 108 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skills/kotlin-backend-jpa-entity-mapping/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/kotlin-backend-jpa-entity-mapping/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/kotlin-backend-jpa-entity-mapping/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/kotlin-backend-jpa-entity-mapping/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/kotlin-backend-jpa-entity-mapping/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Explore alternatives and comparisons

Add this badge to your README

It updates every night and links to this page.

Kotlin/kotlin-agent-skills: #822 on hotskills, 1.1k stars

[![Kotlin/kotlin-agent-skills on hotskills](https://hotskills.dev/badge/kotlin-kotlin-agent-skills.svg)](https://hotskills.dev/skill/kotlin-kotlin-agent-skills/)