SkillHub

Never touch your repo

The core guarantee — gitignored-by-default writes, a managed gitignore block, a canonical store with symlink fan-out, and scoped invisibility.

The core principle of SkillHub is simple: everything written locally is gitignored by default. Working inside a client-owned repository never adds stageable files, so git status stays clean. You get your skills without leaving a trace in someone else's codebase.

The guarantee: installing skills into a client-owned repo never touches that repo. Every local write is gitignored by default, so git status stays clean and nothing stageable appears.

Gitignored by default

When you bootstrap a project, skillhub init writes a managed .gitignore block — a delimited section with marker comments — covering the project config directory and every agent skills directory it links into. Because the block is delimited, it's easy to keep updated and easy to remove.

You can opt out with --no-gitignore, but the default keeps the guarantee intact:

skillhub init
skillhub init --no-gitignore

One store, many agents

Skills install once into a canonical local store, then fan out by symlink into each detected agent's skills directory:

  • project scope — the store lives in the project config directory, .skillhub/ at the repo root (its skills/ subfolder).
  • global scope — the store lives under your home directory (its skills/ subfolder).

A single install, symlinked into every agent, means every coding agent on the machine sees the same skill without duplicated copies.

Copying is the fallback, never the default. Pass --copy to force it, and on platforms without symlink support the CLI auto-falls-back to copy with a notice.

skillhub install @studio/design-systems/tokens-workflow
skillhub install @studio/design-systems/tokens-workflow --copy

Invisibility

Access isn't just restricted — it's invisible. A limited outsider sees only the registries they've been granted. Other registries, org pages, and out-of-grant search results don't appear as "forbidden"; they simply aren't there. What you can't reach, you can't see.

Keeping the guarantee intact

skillhub doctor verifies the pieces that make this work: the integrity of the managed gitignore block, the health of every symlink, and whether the lockfile matches what's on disk:

skillhub doctor
skillhub doctor --global

If anything drifts, doctor reports it with a suggested fix so the never-touch-your-repo promise stays true.

On this page