Skip to main content

pull

Pull from git remote and sync to all targets.

skillshare pull              # Pull and sync
skillshare pull --dry-run # Preview

What Happens

┌─────────────────────────────────────────────────────────────────┐
│ skillshare pull │
└─────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│ 1. Check repository status │
│ → Source is a git repo: ✓ │
│ → Remote configured: ✓ │
│ → No local changes: ✓ │
└─────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│ 2. Pull from remote │
│ → git pull │
│ → ✓ Pull complete │
└─────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│ 3. Sync to all targets (automatic) │
│ → skillshare sync │
│ → ✓ claude: merged (5 linked) │
│ → ✓ cursor: merged (5 linked) │
└─────────────────────────────────────────────────────────────────┘

Options

FlagDescription
--dry-run, -nPreview without making changes

Prerequisites

Your source directory must be a git repository with a remote:

# Check if ready:
skillshare status
# Shows: Git: initialized with remote

Local Changes Warning

If you have uncommitted changes, pull will fail:

$ skillshare pull
Local changes detected
Run: skillshare push
Or: cd ~/.config/skillshare/skills && git stash

Solutions:

# Option 1: Push your changes first
skillshare push
skillshare pull

# Option 2: Stash your changes
cd ~/.config/skillshare/skills
git stash
skillshare pull
git stash pop

Examples

# Standard pull (most common)
skillshare pull

# Preview what would happen
skillshare pull --dry-run

Workflow

Typical workflow on a secondary machine:

# Start of day: get latest skills
skillshare pull

# ... work with AI tools ...

# End of day: share any new skills
skillshare collect claude # If you created new skills
skillshare push -m "Add new skill"