FAQ
Short answers to recurring questions — repo safety, copy vs symlink, project vs global scope, pinning, missing flags, and CI usage.
Quick answers to the questions that come up most.
No. Everything SkillHub writes locally is gitignored by default, so
working in a client-owned repo never adds stageable files — git status stays
clean. skillhub init writes a managed .gitignore block covering the project
config directory and every agent skills directory it links into. Opt out with
--no-gitignore if you really want to.
By default, skills install once into a canonical store and fan out by symlink
into each agent's skills directory. Copy is the fallback, never the default:
it kicks in automatically on platforms without symlinks (with a notice), or when
you ask for it with --copy. Copied skills show as copyMode: true in
skillhub list.
- Project scope installs into the repo you're in (the project config directory at the repo root) — this is the default.
- Global scope installs into the machine (your home config directory) and is
selected with
--global/-gon scope-aware commands.
Use project scope for skills a repo needs; use global scope for skills you want everywhere on your machine.
Pin to an exact version so it never moves without an explicit action:
skillhub install @studio/design-systems/tokens-workflow@1.2.0 --pinA range (like @^1.2.0) or a dist-tag (like @beta) tracks a channel instead;
--pin freezes to the exact version. Pinned skills are held in place by
skillhub update and reported in its pinnedHeld list.
Visibility is a registry-level property (private or public), set when you
create the registry — not something you choose per publish. There's deliberately
no publish --access; set visibility with registry create --visibility or on
the dashboard:
skillhub registry create design-systems --visibility privateThere aren't any. To change what's installed, use skillhub install,
skillhub remove, skillhub update, and skillhub sync. Linking is an internal
implementation detail — skills fan out to agents by symlink automatically, with a
copy fallback — so there's nothing to link by hand.
Two pieces: authenticate with a token, and reconcile with a frozen lockfile.
skillhub login --token <api-token>
skillhub sync --frozensync --frozen fails (exit 1) if the lockfile would change, so CI catches an
out-of-date lockfile instead of silently drifting. You can also skip the login
step by setting the token environment variable directly in your pipeline. See
API tokens.