Claude-skill-registry Kotlin Autocomplete
This skill should be used when you need to know what members, methods, or extensions are available on Kotlin types. It queries autocomplete metadata generated by the kotlin-autocomplete-gradle-plugin.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/kotlin-autocomplete" ~/.claude/skills/majiayu000-claude-skill-registry-kotlin-autocomplete && rm -rf "$T"
manifest:
skills/data/kotlin-autocomplete/SKILL.mdsource content
Kotlin Autocomplete Skill
You have access to accurate, project-specific Kotlin type information through autocomplete metadata generated by the kotlin-autocomplete-gradle-plugin.
When to Use This Skill
Use this skill when:
- Writing Kotlin code and need to know what methods/properties are available on a type
- The user asks "what can I do with X type?" or "what methods does X have?"
- Verifying if a specific member exists on a type
- Exploring Kotlin APIs (stdlib, coroutines, or project-specific)
- You're unsure about method signatures or available extensions
How It Works
The autocomplete metadata is generated by running
./gradlew buildAutocomplete in a Kotlin project. This creates JSON files in build/autocomplete/ containing:
- All public properties and methods with full signatures
- Extension functions and properties
- Both standard library and project-specific types
Querying Type Information
Use the helper script to query type information:
.claude/skills/scripts/kotlin-autocomplete-lookup.sh "fully.qualified.TypeName"
Examples:
# Standard library types .claude/skills/scripts/kotlin-autocomplete-lookup.sh "kotlin.String" .claude/skills/scripts/kotlin-autocomplete-lookup.sh "kotlin.collections.List" # Coroutines types .claude/skills/scripts/kotlin-autocomplete-lookup.sh "kotlinx.coroutines.flow.Flow" # Project types .claude/skills/scripts/kotlin-autocomplete-lookup.sh "com.example.User"
Response Format
When presenting autocomplete information, format it clearly:
Type: kotlin.String Members: - val length: kotlin.Int - fun substring(startIndex: kotlin.Int): kotlin.String - fun lowercase(): kotlin.String Extensions: - fun toSnakeCase(): kotlin.String - val firstChar: kotlin.Char? Total: 3 members, 2 extensions
Prerequisites
The Kotlin project must have:
- Applied the plugin in
:build.gradle.ktsplugins { id("com.lightningkite.kotlin-autocomplete") version "0.0.1-1" } - Generated metadata:
./gradlew buildAutocomplete - Metadata exists in
directorybuild/autocomplete/
Important Notes
- Type names must be fully qualified: Use
notkotlin.StringString - Only public members are included: Internal and private members are excluded
- Extensions on Any/Any? are filtered: Too generic to be useful
- Fast lookups: Index-based queries are nearly instant
If Metadata Not Found
If autocomplete metadata doesn't exist:
- Suggest running
./gradlew buildAutocomplete - Verify the plugin is applied
- Check if the type name is correct
- Fall back to general Kotlin knowledge, but note it may not be project-specific
Benefits
- No hallucinations: All information comes from actual compiled code
- Project-aware: Includes custom extensions and project types
- Always up-to-date: Regenerate when code changes
- Complete signatures: Full parameter types and return types
Example Workflow
User: "What can I do with a Flow?"
- Run:
.claude/skills/scripts/kotlin-autocomplete-lookup.sh "kotlinx.coroutines.flow.Flow" - Parse the output
- Present available operations in a clear format
- Suggest common patterns based on the available members
This ensures you provide accurate, project-specific Kotlin guidance!