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:
| flag | meaning |
|---|---|
--json | Emit 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.