skt commands — CLI reference

skt is a small, predictable CLI. Six verbs cover the whole lifecycle of a cached toolchain — resolve a pin, install it, find its binary, run it, list what you have, and clean up.

Global flags

These apply to every command:

flagmeaning
--jsonEmit machine-readable JSON on stdout instead of human text.
--cache-dir <dir>Override the cache root (default $XDG_CACHE_HOME/skt, else ~/.cache/skt).
--os <os> / --arch <arch>Target a platform other than the host (cross-resolve).

install

Resolve, download, verify, extract, and cache a tool. Prints the binary path.

skt install go@1.25.5
skt install node@24 --json
skt install trivy@0.70.0 --cache-dir /tmp/cache

See Installing tools for the full walkthrough.

resolve

Resolve a version pin to a concrete version without downloading anything. Useful to see what a partial pin maps to today.

skt resolve node@24
# node 24 → 24.16.0

skt resolve go@1.25 --json
# {"tool":"go","requested":"1.25","resolved":"1.25.5"}

bin

Print the path to a tool's binary, installing it on demand if it isn't cached yet. This is the lookup half of install — ideal for scripting PATH.

skt bin go@1.25.5
# /home/you/.cache/skt/go/1.25.5/linux-amd64/bin/go

skt bin go@1.25.5 --json
# {"tool":"go","resolved":"1.25.5","bin_dir":".../bin","bin":".../bin/go"}

exec

Run a command with a pinned tool's bin_dir prepended to PATH, then exit with the command's status. Installs on demand. Everything after -- is passed to the command untouched.

skt exec node@24 -- node --version
# v24.16.0

skt exec go@1.25.5 -- go build ./...
skt exec kubectl@1.31.0 -- kubectl get pods

exec is the no-PATH-pollution way to use a tool: nothing persists in your shell after the command returns.

list

List the tools and versions currently in the cache.

skt list
# go      1.25.5   linux-amd64
# node    24.16.0  linux-x64
# trivy   0.70.0   linux-amd64

skt list --json

clean

Remove cached installs to reclaim disk.

skt clean go@1.25.5      # remove one cached version
skt clean go             # remove all cached versions of a tool
skt clean --all          # wipe the entire cache

clean only ever touches the cache directory; it never affects anything on your PATH or in your shell.