sdkman

Installation
SKILL.md

SDKMAN Version Switching

SDKMAN manages parallel installs of JDKs and related tools under $SDKMAN_DIR/candidates/<tool>/<version>/ (default $SDKMAN_DIR is ~/.sdkman). This skill explains how to switch versions correctly from Bash tool calls — the naive approach silently does nothing.

Throughout this document $SDKMAN_DIR means ${SDKMAN_DIR:-$HOME/.sdkman}. Users may relocate the install via that env var; never hard-code ~/.sdkman.

Default Policy

Unless the user explicitly asks otherwise:

  • Ephemeral, not persistent. Use Pattern A (preferred) or B. They affect only the current Bash invocation. Never run sdk default (Pattern C) just because a user said "switch to Java 17" — that changes every future shell the user opens.
  • Install with confirmation only. If a version isn't installed, stop and ask — do not auto-run sdk install. JDK downloads are hundreds of MB, persistent, and vendor-specific.
  • Follow .sdkmanrc without asking. A .sdkmanrc is the repo author's explicit intent for anyone entering the repo. Honor it via Pattern D; only pause to ask if the declared version is missing.

Precondition

Before assuming this skill applies, confirm SDKMAN actually exists:

Related skills

More from shihyuho/skills

Installs
11
Repository
shihyuho/skills
First Seen
Apr 15, 2026