Skip to main content

Project Workflow

The edit → sync → commit cycle for project-level skill management.

Overview

┌─────────────────────────────────────────────────────────────────┐
│ PROJECT WORKFLOW │
│ │
│ EDIT ──► SYNC ──► COMMIT ──► PUSH │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ .skillshare/ .claude/ Remote │
│ skills/ .cursor/ (GitHub) │
│ etc. │ │
│ ▼ │
│ Team members │
│ clone + install + sync │
│ │
└─────────────────────────────────────────────────────────────────┘

Team Collaboration Scenario

A typical team workflow showing how project skills stay in sync:

Alice (adds a skill)                    Bob (gets the update)
────────────────────── ──────────────────────
skillshare new api-guide -p
$EDITOR .skillshare/skills/api-guide/
skillshare sync
git add . && git commit && git push
git pull
skillshare install -p
skillshare sync
→ api-guide now in .claude/skills/

Bob doesn't need to know which skills were added — skillshare install -p reads the config and installs everything listed.


Common Operations

Add a New Skill

# Create the skill
skillshare new my-skill -p
$EDITOR .skillshare/skills/my-skill/SKILL.md

# Sync to targets
skillshare sync

# Commit
git add .skillshare/
git commit -m "Add my-skill"

Install a Remote Skill

# Install from GitHub
skillshare install anthropics/skills/skills/pdf -p

# Sync to targets
skillshare sync

# Commit config changes
git add .skillshare/
git commit -m "Add pdf skill from anthropic"

Update Remote Skills

# Update a specific skill
skillshare update pdf -p

# Or update all remote skills
skillshare update --all -p

# Sync updated skills
skillshare sync

# Commit if config changed
git add .skillshare/
git commit -m "Update remote skills"

Remove a Skill

# Uninstall
skillshare uninstall my-skill -p

# Sync to clean up symlinks
skillshare sync

# Commit
git add .skillshare/
git commit -m "Remove my-skill"

New Team Member Joins

# Clone the project
git clone github.com/team/project
cd project

# Install remote skills listed in config
skillshare install -p

# Sync to targets
skillshare sync

Managing Targets

Add a Target

# Add a known target
skillshare target add windsurf -p

# Add a custom target with path
skillshare target add custom-tool ./tools/ai/skills -p

# Sync to new target
skillshare sync

Remove a Target

skillshare target remove windsurf -p

List Targets

skillshare target list -p
Project Targets
claude-code .claude/skills (merge)
cursor .cursor/skills (merge)

Check Status

skillshare status
Project Skills (.skillshare/)

Source
✓ .skillshare/skills (3 skills)

Targets
✓ claude-code [merge] .claude/skills (3 synced)
✓ cursor [merge] .cursor/skills (3 synced)

Remote Skills
✓ pdf anthropic/skills/pdf
✓ review github.com/team/tools

List Skills

skillshare list
Installed skills (project)
─────────────────────────────────────────
→ my-skill local
→ pdf anthropic/skills/pdf
→ review github.com/team/tools

→ 3 skill(s): 2 remote, 1 local

Tips

Auto-Detection

Once .skillshare/config.yaml exists, most commands auto-detect project mode:

cd my-project/
skillshare sync # Auto project mode
skillshare status # Auto project mode
skillshare list # Auto project mode
Zero Config

Just cd into a project directory — skillshare detects .skillshare/config.yaml and automatically switches to project mode. No flags needed.

Edit and See Changes Instantly

Skills are symlinked — editing in .skillshare/skills/ is immediately visible in targets:

$EDITOR .skillshare/skills/my-skill/SKILL.md
# Change is already in .claude/skills/my-skill/ (symlink)

Only run sync when adding/removing skills or targets.

Preview Before Syncing

skillshare sync --dry-run