Skip to main content

hub

Manage skill hubs — saved hub sources for organization-wide skill discovery.

When to Use

  • Set up your organization's skill catalog for search to query
  • Switch between multiple hubs (e.g., company-wide vs team-specific)
  • List or remove saved hub sources

hub add

Save a hub source to config for reuse in search --hub.

skillshare hub add <url> [options]
FlagDescription
--label, -lCustom label (default: derived from URL hostname)
--project, -pSave to project config
--global, -gSave to global config

The first hub added is automatically set as the default. Labels are case-insensitive.

skillshare hub add https://internal.corp/hub.json --label team
skillshare hub add ./local-hub.json # label derived: "local-hub"

hub list

List saved hubs. * marks the default hub.

skillshare hub list [options]
FlagDescription
--project, -pShow project hubs
--global, -gShow global hubs
$ skillshare hub list
* team https://internal.corp/hub.json
local ./local-hub.json

Alias: hub ls

hub remove

Remove a saved hub by label.

skillshare hub remove <label> [options]
FlagDescription
--project, -pRemove from project config
--global, -gRemove from global config

If the removed hub was the default, the default is cleared.

Alias: hub rm

hub default

Show or set the default hub used by search --hub (bare flag).

skillshare hub default [label] [options]
FlagDescription
--resetClear the default (revert to community hub)
--project, -pUse project config
--global, -gUse global config
skillshare hub default              # Show current default
skillshare hub default team # Set default to "team"
skillshare hub default --reset # Clear default → community hub

hub index

Build a skillshare-hub.json index file from installed skills. The generated index can be consumed by search --hub for private, offline skill discovery.

Usage

skillshare hub index [options]

Options

FlagDescription
--source, -sSource directory to scan (default: auto-detect)
--output, -oOutput file path (default: <source>/skillshare-hub.json)
--fullInclude full metadata (flatName, type, version, etc.)
--auditRun security audit on each skill and include risk scores
--project, -pUse project mode (.skillshare/)
--global, -gUse global mode (~/.config/skillshare)
--help, -hShow help

Output Modes

Minimal (default) — Only essential fields for search and install:

{
"schemaVersion": 1,
"generatedAt": "2026-02-12T10:00:00Z",
"sourcePath": "/home/user/.config/skillshare/skills",
"skills": [
{
"name": "my-skill",
"description": "A useful skill",
"source": "owner/repo/.claude/skills/my-skill",
"tags": ["workflow"]
}
]
}

Full (--full) — Includes metadata for auditing and management:

{
"name": "my-skill",
"description": "A useful skill",
"source": "github.com/owner/repo/.claude/skills/my-skill",
"tags": ["workflow"],
"flatName": "my-skill",
"type": "github-subdir",
"repoUrl": "https://github.com/owner/repo.git",
"version": "abc1234",
"installedAt": "2026-02-10T03:49:06Z",
"isInRepo": false
}

Audit (--audit) — Adds security risk scores from skillshare audit:

{
"name": "my-skill",
"description": "A useful skill",
"source": "owner/repo/.claude/skills/my-skill",
"riskScore": 0,
"riskLabel": "clean",
"auditedAt": "2026-02-22T10:00:00Z"
}

--audit can be combined with --full to include both metadata and risk scores. Risk labels: clean (0), low (1–25), medium (26–50), high (51–75), critical (76–100).

Metadata fields use omitempty — redundant values are suppressed:

  • flatName omitted when equal to name
  • relPath omitted when equal to source
  • isInRepo omitted when false

Examples

# Build minimal index (default)
skillshare hub index

# Build with full metadata
skillshare hub index --full

# Build with security risk scores
skillshare hub index --audit

# Full metadata + risk scores
skillshare hub index --full --audit

# Custom output path
skillshare hub index -o /shared/team/skillshare-hub.json

# Custom source directory
skillshare hub index -s ~/my-skills

# Project mode
skillshare hub index -p

Workflow

A typical private hub workflow:

1. Install skills           → skillshare install ...
2. Build index → skillshare hub index
3. Share the index file → Copy/host skillshare-hub.json
4. Teammates search → skillshare search --hub [path-or-url]

For more details, see the Hub Index Guide.

Config Format

Saved hubs are stored under the hub: key in config.yaml:

hub:
default: team
hubs:
- label: team
url: https://internal.corp/hub.json
- label: local
url: ./local-hub.json

The public hub is the built-in default and doesn't need to be saved. When no custom default is set, search --hub falls back to it automatically. Fork this repo to bootstrap your own organization's hub.