kotlin-tech-index
v0.2.0
Published
A ZCode/Claude skill that indexes Kotlin language features, standard-library APIs, compiler capabilities, and platform (JVM/Native/JS/Wasm/KMP) tooling by Kotlin version — only Stable/GA, never Experimental. Covers Kotlin 1.3 through 2.4. Install-and-use:
Maintainers
Readme
kotlin-tech-index
A reference skill for ZCode / Claude that indexes Kotlin language features, standard-library APIs, compiler capabilities, and platform (JVM/Native/JS/Wasm/KMP) tooling — indexed by Kotlin version, and only the Stable/GA ones.
IRON LAW of this skill: never list Experimental / Beta / Preview / Alpha features as "ready-to-use" to the user. A capability is included in
versions/*.mdif and only if it is Stable/GA in that version — works out of the box, no@OptIn, no-Xexperimental flag.
Covers Kotlin 1.3 through 2.4.
What this skill is for
Trigger it whenever a user is starting or working in a Kotlin project and asks any version-specific question:
- "I'm on Kotlin 2.0, can I use
Uuid?" - "What's new in Kotlin 1.9?"
- "Which version added
value class?" - "I'm on 2.4.0 — list every language feature I can use."
- "How do I turn on context parameters? Which version introduced them?"
It triggers eagerly on any version-specific Kotlin question — even casual mentions like "I'm on 1.9, can I use value class?".
Design principles
- Only Stable / GA is indexed. A capability's "home version" is the version where it became Stable — not where it was first introduced as Experimental.
- Incremental files, accumulated view. Each
versions/X.Y.Z.mdlists only what's new and Stable relative to the previous version. To answer "what can I use in X?", the skill reads X and all earlier files, then removes deprecated items viareferences/deprecation-and-evolution.md. - Partial-Stable is explicitly annotated. When a feature is mostly Stable but has experimental subsets (e.g.
kotlin.uuid.Uuidis Stable in 2.4.0 except V4/V7 generators), the exception is called out — never just labeled "Stable". - No
kotlinx.*libraries. Onlykotlin.*stdlib, the compiler, and platform toolchains.kotlinx.coroutines/serialization/datetime/ Compose evolve independently of the language version.
Layout
SKILL.md # Query workflow + Iron Law + self-check
versions/ # One file per Kotlin feature version
1.3.0.md ... 2.4.0.md
references/
deprecation-and-evolution.md # Deprecation map + Experimental→Stable tracker
maintenance.md # Maintainer guide (writing/updating files)Install — and you're done
This package is a skill (a markdown reference bundle), not a runtime library. Installing it copies the skill directly into your project's .claude/skills/ directory, so it's immediately usable — no manual copy step.
npm install kotlin-tech-indexWhat happens on install:
- npm drops the package into
node_modules/kotlin-tech-index/. - The
postinstallhook runsinit.js, which copiesSKILL.md+versions/+references/into<project>/.claude/skills/kotlin-tech-index/. - Reload your agent — the skill is now available.
The installer is idempotent: re-running it (or upgrading the package) overwrites in place, so npm update kotlin-tech-index keeps the skill current.
Manual / npx invocation
If postinstall was skipped (e.g. --ignore-scripts, or pnpm/Yarn quirks), install the skill manually:
npx kotlin-tech-index # copies into ./.claude/skills/
# or
node ./node_modules/kotlin-tech-index/init.jsNotes
- Project root resolution: the installer uses
INIT_CWD(set by npm to the directory wherenpm installwas invoked), falling back tonpm_config_local_prefix, thenprocess.cwd(). Sonpm install kotlin-tech-indexfrom your project root always lands the skill in that project's.claude/skills/. - No README/LICENSE/package.json in the skill dir — only the actual skill payload (
SKILL.md,versions/,references/). Keeps the skills folder clean.
Data sources
Each versions/X.Y.Z.md cites its source URL at the top:
- Kotlin 1.3 – 2.4 official What's new pages:
https://kotlinlang.org/docs/whatsnewXY.html
License
MIT © smartyu1993
