Skip to main content

doctor

Check environment and diagnose issues with your skillshare setup.

skillshare doctor
skillshare doctor -p # Project mode (.skillshare/config.yaml)
skillshare doctor -g # Force global mode

doctor demo

When to Use

  • Something isn't working and you don't know why
  • After upgrading skillshare or your OS
  • Verify all targets, git, and symlinks are healthy
  • First diagnostic step before filing a bug report

What It Checks

skillshare doctor

Checking environment
✓ Config: ~/.config/skillshare/config.yaml
✓ Source: ~/.config/skillshare/skills (12 skills)
✓ Link support: OK
✓ Git: initialized with remote

Checking targets
✓ claude [merge]: merged (8 shared, 2 local)
✓ cursor [copy]: copied (8 managed, 0 local)
⚠ codex [merge]: needs sync

Version
✓ CLI: 1.2.0
✓ Skill: 1.1.0

Summary
✓ All checks passed!

Checks Performed

Environment

CheckWhat It Verifies
ConfigConfig file exists and is valid
SourceSource directory exists and is readable
Link supportSystem can create symlinks
GitRepository status and remote configuration

Targets

For each target:

  • Path exists and is writable
  • Sync mode matches actual state
  • Sync drift (linked/managed count vs target expected count after include/exclude)
  • No broken symlinks
  • Duplicate-skill checks for unintended local collisions:
    • merge mode: skipped (local skills are expected)
    • copy mode: manifest-managed copies are ignored; only local colliding copies are warned
  • Valid include/exclude glob patterns
  • Info-level per-target compatibility hint when applicable (example target priority: cursorantigravitycopilotopencode; no hint when these targets are absent)

Version

  • CLI version
  • skillshare skill version
  • Checks for available updates

Other

  • Skills without SKILL.md files
  • Last backup timestamp (global mode)
  • Trash status (item count, total size, oldest item age)
  • Broken symlinks in targets
Project Mode

When a project has .skillshare/config.yaml, skillshare doctor auto-runs in project mode.

In project mode:

  • Config/source checks use .skillshare/config.yaml and .skillshare/skills
  • Trash status uses .skillshare/trash
  • Backups show not used in project mode

Common Issues

"Needs sync"

Target mode was changed but not applied:

skillshare sync

"Not synced"

Target has fewer linked skills than source (e.g. after installing new skills):

skillshare sync

"Has uncommitted changes"

Tracked repo has local changes:

cd ~/.config/skillshare/skills/_team-repo
git status
# Commit or discard changes

A skill was removed from source but symlink remains:

skillshare sync  # Will prune orphaned symlinks

"Skills without SKILL.md"

Skill folders missing required file:

# Add SKILL.md to each skill, or remove the folder
skillshare new my-skill # Creates proper structure

On Windows without Developer Mode:

  1. Enable Developer Mode in Settings
  2. Or run as Administrator

Example Output with Issues

Checking environment
✓ Config: ~/.config/skillshare/config.yaml
✓ Source: ~/.config/skillshare/skills (12 skills)
✓ Link support: OK
⚠ Git: 3 uncommitted change(s)

Checking targets
✓ claude [merge]: merged (8 shared, 2 local)
✗ cursor [merge]: 2 broken symlink(s): old-skill, removed-skill
⚠ codex [merge->needs sync]: linked (needs sync to apply merge mode)
⚠ claude: 1 skill(s) not synced (2/3 linked)

⚠ Skills without SKILL.md: test-dir, temp

Version
✓ CLI: 1.2.0
⚠ Skill: 1.0.0 (update available: 1.1.0)
Run: skillshare upgrade --skill && skillshare sync

Backups: last backup 2026-01-18_09-00-00 (3 days ago)
ℹ Trash: 2 item(s) (45.2 KB), oldest 3 day(s)

ℹ Update available: 1.2.0 -> 1.3.0
brew upgrade skillshare OR curl -fsSL .../install.sh | sh

Summary
✗ 1 error(s), 4 warning(s)

See Also

  • status — Quick status check
  • sync — Fix sync issues
  • upgrade — Update CLI and skill