Skip to main content

status

Show the current state of skillshare: source, tracked repositories, targets, and versions.

skillshare status

When to Use

  • Check if all targets are in sync after making changes
  • See which targets need a sync run
  • Verify tracked repos are up to date
  • Verify the active audit policy (profile, threshold, dedupe mode)
  • Check for CLI or skill updates

status demo

Example Output

Source
✓ ~/.config/skillshare/skills (12 skills, 2026-01-20 15:30)
→ .skillignore: 5 patterns, 2 skills ignored
✓ ~/.config/skillshare/agents (8 agents, 2026-01-20 15:30)

Tracked Repositories
_team-skills ✓ 5 skills, up-to-date
_personal-repo ! 3 skills, has uncommitted changes

Targets
claude
skills merged [merge] ~/.claude/skills (8 shared, 2 local)
agents merged [merge] 8/8 linked
cursor
skills merged [merge] ~/.cursor/skills (3 shared, 0 local)
agents merged [merge] 8/8 linked
windsurf
skills has files [merge->needs sync] ~/.windsurf/skills
⚠ 2 skill(s) not synced — run 'skillshare sync'

Extras
rules has files [merge] .cursor/rules (4 files)
commands has files [merge] .claude/commands (3 files)

Audit
→ Profile: DEFAULT
→ Block: severity >= CRITICAL
→ Dedupe: GLOBAL
→ Analyzers: ALL

Version
✓ CLI: 0.17.0
✓ Skill: 0.17.0 (up to date)

Sections

Source

Shows the source directory location, skill count, and last modified time. When agents are configured, the agents source is shown on a separate line.

Tracked Repositories

Lists git repositories installed with --track. Shows:

  • Skill count per repository
  • Git status (up-to-date or has changes)

Targets

Each target is shown as a header with sub-items for skills and agents:

claude
skills merged [merge] ~/.claude/skills (8 shared, 2 local)
agents merged [merge] 8/8 linked

Skills sub-item shows:

  • Sync mode: merge, copy, or symlink
  • Path: Target directory location
  • Status: merged, copied, linked, has files, or needs sync
  • Shared/local counts: In merge and copy modes, counts use that target's expected set (after include/exclude filters). Copy mode shows "managed" instead of "shared".

Agents sub-item shows:

  • Status: synced or drift
  • Linked count: e.g. 8/8 linked

If agents source does not exist or the target has no agent path configured, the agents sub-item is omitted.

StatusMeaning
mergedSkills/agents are symlinked individually
copiedSkills are copied as real files (with manifest)
linkedEntire directory is symlinked
has filesNot yet synced
needs syncMode changed, run sync to apply
driftSome agents are missing — run sync agents

Extras

When extras are configured, shows each extra's sync status:

Extras
rules has files [merge] .cursor/rules (4 files)
commands has files [merge] .claude/commands (3 files)

Each entry shows the name, status, sync mode, target path, and file count.

Audit

Shows the active audit policy configuration (resolved from CLI flags, project config, or global config):

  • Profile: DEFAULT, STRICT, or PERMISSIVE
  • Block: severity threshold for blocking (CRITICAL by default)
  • Dedupe: deduplication mode (GLOBAL or LEGACY)
  • Analyzers: enabled analyzers (ALL or a filtered list)

Version

Compares your CLI and skill versions against the latest releases. (Global mode only.)

Options

FlagDescription
--jsonOutput as JSON (for scripting/CI)
--project, -pUse project mode
--global, -gUse global mode
--help, -hShow help

JSON Output

skillshare status --json
{
"source": {
"path": "~/.config/skillshare/skills",
"exists": true,
"skillignore": {
"active": true,
"files": [".skillignore", "_team-skills/.skillignore"],
"patterns": ["test-*", "vendor/"],
"ignored_count": 2,
"ignored_skills": ["test-draft", "vendor/lib"]
}
},
"skill_count": 12,
"tracked_repos": [
{"name": "_team-skills", "skill_count": 5, "dirty": false},
{"name": "_personal-repo", "skill_count": 3, "dirty": true}
],
"targets": [
{
"name": "claude",
"path": "~/.claude/skills",
"mode": "merge",
"status": "merged",
"synced_count": 8,
"include": [],
"exclude": []
}
],
"agents": {
"source": "~/.config/skillshare/agents",
"exists": true,
"count": 8,
"targets": [
{"name": "claude", "path": "~/.claude/agents", "expected": 8, "linked": 8, "drift": false}
]
},
"audit": {
"profile": "DEFAULT",
"threshold": "CRITICAL",
"dedupe": "GLOBAL",
"analyzers": []
},
"version": "0.17.0"
}

The source.skillignore field is present only when at least one .skillignore or .skillignore.local file exists. When absent: "skillignore": { "active": false }. The files array includes .skillignore.local paths when present. In text mode, the source line shows .local active when any .skillignore.local is in effect.

JSON output is supported in both global and project mode.

Project Mode

In a project directory, status shows project-specific information. The first section header shows Source (project) to indicate project mode:

skillshare status        # Auto-detected if .skillshare/ exists
skillshare status -p # Explicit project mode

Example Output

Source (project)
✓ .skillshare/skills/ (3 skills, 2026-04-08 12:43)
→ .skillignore: 3 patterns, 0 skills ignored
✓ .skillshare/agents/ (4 agents, 2026-04-08 12:43)

Targets
claude
skills merged [merge] .claude/skills (3 shared, 0 local)
agents merged [merge] 4/4 linked
cursor
skills merged [merge] .cursor/skills (3 shared, 0 local)
agents merged [merge] 4/4 linked

Extras
rules has files [merge] .cursor/rules (4 files)
commands has files [merge] .claude/commands (3 files)

Audit
→ Profile: DEFAULT
→ Block: severity >= CRITICAL
→ Dedupe: GLOBAL
→ Analyzers: ALL

Project status does not show Tracked Repositories or Version sections (these are global-only features).

See Also