Claude Code Plugins

Community-maintained marketplace

Feedback

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 Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name Kotlin Autocomplete
description 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.
version 1.0.0

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:

  1. Applied the plugin in build.gradle.kts:
    plugins {
        id("com.lightningkite.kotlin-autocomplete") version "0.0.1-1"
    }
    
  2. Generated metadata: ./gradlew buildAutocomplete
  3. Metadata exists in build/autocomplete/ directory

Important Notes

  • Type names must be fully qualified: Use kotlin.String not String
  • 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:

  1. Suggest running ./gradlew buildAutocomplete
  2. Verify the plugin is applied
  3. Check if the type name is correct
  4. 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?"

  1. Run: .claude/skills/scripts/kotlin-autocomplete-lookup.sh "kotlinx.coroutines.flow.Flow"
  2. Parse the output
  3. Present available operations in a clear format
  4. Suggest common patterns based on the available members

This ensures you provide accurate, project-specific Kotlin guidance!