SkillHub

init

Bootstrap a project (or the machine-global scope) — config, lockfile, managed .gitignore block, agent detection, and optional skillset install.

skillhub init sets up a scope for SkillHub. It creates the config and lockfile, writes the managed .gitignore block, detects the coding agents installed on your machine, and — when you're logged in — offers any org skillsets and repo-bound project skills. Everything it writes locally is gitignored by default, so git status stays clean.

Synopsis

skillhub init [--global] [--agent <ids>] [--copy] [--skillset <ref>] [--[no-]gitignore]

Flags

FlagDescription
--global, -gSet up the machine-global scope instead of a project
--agent, -a <ids>Agent ids to fan out to (comma-separated, or * for all)
--copyDefault installs to copying instead of linking
--skillset <ref>Skillset ref(s) to subscribe and install (comma-separated)
--[no-]gitignoreWrite the managed .gitignore block (default: true)

Examples

skillhub init
skillhub init --agent claude-code,cursor --skillset @studio/skillsets/new-client-project
skillhub init --global

JSON output

With --json, the data object contains:

  • scope (project | global), created (bool), insideGitRepo (bool), registryUrl.
  • agents[] and agentSource (flag | config | detected | prompt | default).
  • gitignore{ action: created | updated | unchanged | skipped, reason?: disabled | not-a-git-repo | global-scope, entries[] }.
  • skillsets{ offered[], subscribed[], skippedReason: not-logged-in | none-available | non-interactive | declined | null }.
  • repoBinding{ remote | null, matches[{ ref, bindings[] }], skippedReason: no-remote | not-logged-in | global-scope | no-match | null }.
  • installnull, or { added[], updated[], removed[], unchanged[] } (each { ref, name, version, previousVersion? }) plus copyMode[].

On this page