Skip to content

The clone cache

GSKILL keeps one machine-level cache under the hood: commit-keyed git clones of the sources your skills come from. Understanding it explains how offline restores, fast re-installs, and gskill cache work. (Installed content itself lives in the repository — see repo-owned storage.)

The cache stores the raw material GSKILL fetched from a source (e.g. a Git repository), one entry per resolved commit at cache/<40-hex-commit>/. It is what makes offline restores possible: if the cache is warm, GSKILL can restore from the lock without any network. Manage it with gskill cache: stats, list, path, and clean.

  • --offline tells GSKILL to use only the cache and never reach the network.
  • --no-cache does the opposite: bypass the cache.

Nothing in the repository ever references the cache: reproduction comes from skills-lock.json plus the committed content. Deleting the cache breaks nothing — the next install that needs missing material simply re-fetches it. The cache is shared by every project on the machine, so a skill fetched for one project restores instantly in another.

The cache lives under $HOME/.gskill (relocatable only via the GSKILL_HOME environment variable), alongside the only other things kept there: locks/, tmp/, and config.toml. GSKILL supports macOS and Linux. Run gskill cache stats to print the exact directory on your machine, alongside its entry count and size (--json exposes it as the path field).