Sync Claude Code skills across computers via GitHub
npx claudepluginhub jialiangfan/skills-syncSync Claude Code skills across computers via GitHub
Sync Claude Code skills and plugins across devices via GitHub.
gh CLI (no build step, no runtime)gh) installed and authenticated/plugin marketplace add JFan5/skills-sync
/plugin install skills-sync@skills-sync
claude --plugin-dir ./skills-sync
/skills-sync:update
Then run /plugin install skills-sync@skills-sync and restart Claude Code.
/skills-sync:setup # Configure GitHub repo (creates if needed)
/skills-sync:push --all # Upload all local skills
On another machine:
/skills-sync:setup # Same repo name
/skills-sync:pull --all # Download all skills
/skills-sync:push-plugins # Backup installed plugins & marketplaces
On another machine:
/skills-sync:pull-plugins # Get marketplace add & plugin install commands
| Command | Description |
|---|---|
/skills-sync:setup [repo-name] | Configure GitHub repo for syncing (default: claude-skills) |
/skills-sync:list [all|skills|plugins|local|remote] | List skills and plugins with sync status |
/skills-sync:status | Show config, auth, and sync status |
/skills-sync:diff [skill-name] | Unified diff of local vs remote |
/skills-sync:push [skill-name|--all] | Push skills to GitHub |
/skills-sync:pull [skill-name|--all] [--force] | Pull skills from GitHub |
| Command | Description |
|---|---|
/skills-sync:push-plugins | Backup installed plugins & marketplace list to GitHub |
/skills-sync:pull-plugins | Restore plugins list and show install commands |
| Command | Description |
|---|---|
/skills-sync:update | Update skills-sync plugin to latest version |
The plugin uses gh CLI to interact with the GitHub Contents API. Skills are stored as directories in a configurable GitHub repository. Plugin configurations (installed_plugins.json and known_marketplaces.json) are backed up to the same repo under plugins-config/.
Each command is a markdown file that instructs Claude to run the corresponding shell script.
Stored in ~/.claude/skills-sync.json:
{
"repo": "username/claude-skills",
"branch": "main",
"skills_dir": "skills"
}
Tracked in ~/.claude/skills-sync-state.json to detect conflicts and show last sync times.
MIT