Skip to content

Add Kotlin tabs to the Skills page - #2156

Open
happyhuman wants to merge 3 commits into
mainfrom
docs-kotlin-skills-toolset
Open

Add Kotlin tabs to the Skills page#2156
happyhuman wants to merge 3 commits into
mainfrom
docs-kotlin-skills-toolset

Conversation

@happyhuman

@happyhuman happyhuman commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

What

Adds Kotlin to all three tab groups on docs/skills/index.md (get started, skills defined in code, skills read from the filesystem), plus the Kotlin v0.1.0 language badge and a Kotlin entry under Next steps.

New snippet file: examples/kotlin/snippets/skills/SkillsExample.kt, registered in files_to_test.txt.

Why

SkillToolset has existed since adk-kotlin v0.1.0, but the page has never shown Kotlin. Earlier coverage audits diffed one release tag against the next, so anything that already existed at v0.1.0 was invisible to them.

Kotlin differs from the sibling tabs in two ways

Both are deliberate, not translation shortcuts:

  • SkillToolset takes a single SkillSource, not a list of pre-loaded skills plus additional_tools. NewFileSystemSource discovers every skill directory under a base directory, so there is no per-skill load call. Extra tools go on the agent's tools, not on the toolset.
  • There is no built-in source for skills defined in code. Only NewFileSystemSource (JVM/Android) and AssetSkillSource (Android-only) implement SkillSource at v0.8.0. The inline-skills tab therefore implements SkillSource directly, mirroring how the ADK Go tab handles the same gap, rather than inventing a Python-style model class.

AssetSkillSource is androidMain and is intentionally left out of scope.

Verification

Grounded against the v0.8.0 git tag (not the adk-kotlin working tree). Full ladder green:

Level Check Result
L0 symbols/named args exist at 0.8.0 PASS
L1 gradlew build (JDK 17, KSP) PASS
L2 ktlint (report-parsed) PASS
L3 transclusions + tab structure PASS
L5 files_to_test.txt registration PASS
L6 language badge PASS

L4 (runSnippets) reports SKIP — no such Gradle task exists in this repo, so it is skipped for every snippet, not just these.

The page is badged Experimental for the other languages; I checked and SkillToolset carries no opt-in annotation at v0.8.0, so the Kotlin badge is added plainly.

Tracked as KT-23.


Update: the badge originally read Kotlin v0.8.0, which is the version adk-docs compiles against, not the release the feature shipped in. Corrected to the introducing version, matching the sibling badges and the rest of the site.

The Skills page documented Python, TypeScript and Go but not Kotlin, even
though SkillToolset has existed since adk-kotlin v0.1.0. This was missed
because every earlier coverage audit diffed one release tag against the
next, so symbols that already existed at v0.1.0 were never checked.

Kotlin's shape differs from Python's in two ways the tabs need to show.
SkillToolset takes a single SkillSource rather than a list of loaded
skills, so NewFileSystemSource discovers every skill under a base
directory instead of loading them one by one. And like ADK Go, Kotlin
ships no built-in source for skills defined in code, so the inline-skills
tab implements SkillSource directly rather than pretending a Python-style
model class exists.
@netlify

netlify Bot commented Aug 20, 2026

Copy link
Copy Markdown

Deploy Preview for adk-docs-preview ready!

Name Link
🔨 Latest commit 23c48b7
🔍 Latest deploy log https://app.netlify.com/projects/adk-docs-preview/deploys/6a874611e002800008fc594a
😎 Deploy Preview https://deploy-preview-2156--adk-docs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@happyhuman happyhuman self-assigned this Aug 20, 2026
The badge said Kotlin v0.8.0, which is the version adk-docs compiles
against, not the version the feature landed in. Every other badge on the
page and across the site names the introducing release - SkillToolset has
been present since v0.1.0.
The Experimental callout invites feedback per SDK but listed only
Python, TypeScript and Go, which is now inconsistent with the Kotlin
badge this branch adds.

The link has no template parameter, unlike its three siblings, because
adk-kotlin has no issue templates - its .github directory holds only
workflows, so ?template=feature_request.md would silently fall back to a
blank issue.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant