Installation
Recommended
curl -fsSL https://www.tryskl.fyi/install.sh | sh
The script writes ~/.local/bin/skl (or skl.exe on Windows Git Bash). It never edits .bashrc, .zshrc, or fish config.
Flags
--non-interactiveinstalls the binary only. It skips login, init, and first-run prompts.--print-targetprints the GitHub Release triple for this machine and exits.--helpprints the installer help.
Environment
SKL_DOWNLOAD_BASEis the asset origin. Default is GitHub Releaseslatest/download.SKL_INSTALL_DIRis the install directory. Default is~/.local/bin.SKL_NON_INTERACTIVEhas the same effect as--non-interactive.API_BASEis the API origin for first-run setup. The installer defaults this tohttps://api.tryskl.fyi.CIforces a binary-only install.
CI and other non-TTY runs install the binary only. On a TTY, curl | sh still runs first-run because the script reattaches /dev/tty.
PATH
If ~/.local/bin is not on PATH, the installer prints:
export PATH="$HOME/.local/bin:$PATH"
Add that export yourself if you want it to persist. The installer does not touch shell rc files.
From source
From a clone of x0ba/skl:
cargo install --path crates/cli
Debug builds default api_base to http://localhost:8787. Release builds default to https://api.tryskl.fyi. Override with --api-base or API_BASE.
Upgrade
Rerun the install script. It overwrites the binary in SKL_INSTALL_DIR.
Interactive first-run
On a TTY, the installer runs skl setup. That asks two questions, both defaulting to yes:
Log in now? [Y/n]
Import existing skills (skl init)? [Y/n]
Answer n to skip either step. You can run skl login and skl init later.
skl setup --non-interactive prints the next commands and exits.