Skip to main content

Source & Targets

The core model behind skillshare: one source, many targets.

The Problem

Without skillshare, you manage skills separately for each AI CLI:

~/.claude/skills/         # Edit here
└── my-skill/

~/.cursor/skills/ # Copy to here
└── my-skill/ # Now out of sync!

~/.codex/skills/ # And here
└── my-skill/ # Also out of sync!

Pain points:

  • Edits in one place don't propagate
  • Skills drift apart over time
  • No single source of truth

The Solution

Skillshare introduces a source directory that syncs to all targets:

┌─────────────────────────────────────────┐
│ SOURCE (edit here) │
│ ~/.config/skillshare/skills/ │
│ │
│ my-skill/ another/ _team-repo/ │
└─────────────────────────────────────────┘

│ skillshare sync

┌─────────────────────────────────────────┐
│ TARGETS │
│ ~/.claude/skills/ (symlinks) │
│ ~/.cursor/skills/ (symlinks) │
│ ~/.codex/skills/ (symlinks) │
└─────────────────────────────────────────┘

Benefits:

  • Edit in source → all targets update instantly
  • Edit in target → changes go to source (via symlinks)
  • Single source of truth

Source Directory

Default location: ~/.config/skillshare/skills/

This is where:

  • You create and edit skills
  • Skills are installed to
  • Git tracks changes (for cross-machine sync)

Structure:

~/.config/skillshare/skills/
├── my-skill/
│ └── SKILL.md
├── code-review/
│ └── SKILL.md
├── _team-skills/ # Tracked repo (underscore prefix)
│ ├── frontend/
│ │ └── ui/
│ └── backend/
│ └── api/
└── ...

Organize with Folders (Auto-Flattening)

You can use folders to organize your own skills — they'll be auto-flattened when synced to targets:

SOURCE (organized)                  TARGET (flattened)
────────────────────────────────────────────────────────────
~/.config/skillshare/skills/ ~/.claude/skills/
├── work/ ├── work__api-design/
│ ├── api-design/ ───► ├── work__code-review/
│ └── code-review/ ───► ├── personal__blog-helper/
├── personal/ └── personal__recipe/
│ ├── blog-helper/ ───►
│ └── recipe/ ───►

Benefits:

  • Organize skills by project, team, or category
  • No manual flattening required
  • AI CLIs get the flat structure they expect
  • Folder names become prefixes for traceability

Targets

Targets are AI CLI skill directories that skillshare syncs to.

Common targets:

  • ~/.claude/skills/ — Claude Code
  • ~/.cursor/skills/ — Cursor
  • ~/.codex/skills/ — OpenAI Codex CLI
  • ~/.gemini/skills/ — Gemini CLI
  • And 43+ more

Auto-detection: When you run skillshare init, it automatically detects installed AI CLIs and adds them as targets.

Manual addition:

skillshare target add myapp ~/.myapp/skills

How Sync Works

Source → Targets (sync)

skillshare sync

Creates symlinks from each target to the source:

~/.claude/skills/my-skill → ~/.config/skillshare/skills/my-skill

Target → Source (collect)

skillshare collect claude

Collects local skills from a target back to source:

  1. Finds non-symlinked skills in target
  2. Copies them to source
  3. Replaces with symlinks

Editing Skills

Because targets are symlinked to source, you can edit from anywhere:

Edit in source:

$EDITOR ~/.config/skillshare/skills/my-skill/SKILL.md
# Changes visible in all targets immediately

Edit in target:

$EDITOR ~/.claude/skills/my-skill/SKILL.md
# Changes go to source (same file via symlink)