How to Sync AI Skills Across Claude Code, OpenClaw, and Codex in 2 Minutes
Source: Dev.to
Problem
You use multiple AI CLIs—Claude Code, OpenClaw, and Codex—each storing skills in its own directory:
~/.claude/skills/ # Claude Code
~/.codex/skills/ # Codex CLI
~/.opencode/skills/ # OpenCode
When you add, edit, or delete a skill in one tool, the others remain out‑of‑sync because there is no single source of truth.
Solution: skillshare
skillshare centralises all skills in one directory and creates symlinks for each AI CLI, so any change is instantly reflected everywhere.
~/.config/skillshare/skills/ ← single source
├── code-review/
├── react-guidelines/
└── _team-repo/
├── frontend/
└── testing/
Symlinks point from each CLI’s skill folder to the source, e.g.:
~/.claude/skills/code-review → ~/.config/skillshare/skills/code-review
~/.codex/skills/code-review → ~/.config/skillshare/skills/code-review
Installation
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/runkids/skillshare/main/install.sh | sh
Homebrew
brew install runkids/tap/skillshare
Windows PowerShell
irm https://raw.githubusercontent.com/runkids/skillshare/main/install.ps1 | iex
Initialise the workspace
skillshare init
What it does:
- Creates
~/.config/skillshare/skills/(the source directory). - Detects installed AI CLIs.
- Generates
config.yamlwith your targets.
Typical output:
✓ Created source directory
✓ Detected targets:
claude → ~/.claude
codex → ~/.codex/skills
✓ Config saved to ~/.config/skillshare/config.yaml
Collect existing skills
If you already have scattered skills, import them into the source:
skillshare collect --all
Duplicates are flagged so you can decide which version to keep.
Sync to all targets
skillshare sync
Example output:
Synced 3 targets:
claude → 15 linked, 0 skipped, 0 removed
codex → 15 linked, 0 skipped, 0 removed
From now on, skillshare sync is the only command needed after you modify a skill.
Installing third‑party skills
skillshare install anthropics/skills/skills/pdf
skillshare sync
The skill is downloaded into the source directory and then symlinked to every target.
Tracking a Git repository
skillshare install github.com/your-org/team-skills --track
skillshare sync
The --track flag preserves the .git metadata, allowing later updates:
skillshare update _team-skills # runs `git pull` in the source repo
skillshare sync
Creating a new skill
skillshare new my-custom-skill
A SKILL.md template is created in the source directory. Edit it, then run skillshare sync to propagate.
Auditing skills for security
skillshare audit
The audit scans each skill for:
- Prompt injection
- Data exfiltration
- Destructive commands
- Other threats
Critical findings block installation by default. Skills are also scanned automatically during skillshare install.
Pulling changes made outside the source
If you edit a skill via a CLI’s UI (e.g., Codex UI), bring the change back:
skillshare collect codex
skillshare sync
Status & diff
-
Status – shows which targets are in sync, which have drifted, and which skills are unlinked.
skillshare status -
Diff – previews the exact changes that a sync will perform.
skillshare diff
Git‑based cross‑machine workflow
If the source directory is a Git repository:
# Machine A
skillshare push
# Machine B
skillshare pull
skillshare sync
You can also version‑control ~/.config/skillshare/ as part of your dotfiles.
Project‑specific skill sets
cd your-project
skillshare init -p # creates .skillshare/ inside the repo
skillshare install org/skills/skills/react -p
skillshare sync
Commit the .skillshare/ folder to Git. Teammates clone the repo and run skillshare sync to get identical skills across all AI tools.
Web UI
skillshare ui
Opens a dashboard at for visual skill management—browsing, installing, syncing, and searching without the terminal.
Configuration (~/.config/skillshare/config.yaml)
source: /Users/you/.config/skillshare/skills
sync_mode: merge # "merge" (per‑skill symlinks) or "symlink" (whole directory)
targets:
claude:
path: /Users/you/.claude
codex:
path: /Users/you/.codex/skills
Add a new AI CLI: add a new entry under targets and run skillshare sync.
Remove a CLI: delete its entry and sync again.
Command reference
| Command | Description |
|---|---|
skillshare init | Create config & detect targets |
skillshare sync | Sync source → all targets |
skillshare install | Install skill from GitHub or local path |
skillshare collect [target] | Import skills from target(s) to source |
skillshare list | List skills in source |
skillshare status | Show sync status |
skillshare diff | Preview what sync will change |
skillshare search | Search skills on GitHub |
skillshare audit [name] | Scan skills for security threats |
skillshare new | Create a new skill template |
skillshare update --all | Update all tracked repos |
skillshare push / skillshare pull | Cross‑machine Git sync |
skillshare ui | Open web dashboard |
Migration & comparison
- Full migration guide:
- Architectural comparison:
About skillshare
- Open‑source (MIT) written in Go
- Supports 40+ AI CLI targets
- Repository:
- Website:
If you find it useful, consider starring the GitHub repo to help others discover it.