kunsanglee/sync-my-skills
kunsanglee/sync-my-skills · 0 stars · 1 plugin
Marketplace
Install
/plugin marketplace add kunsanglee/sync-my-skillsRun inside Claude Code, then install plugins from it. Check the repo's README before you run it.
Plugins 1
After adding the marketplace, install one with /plugin install <name>@sync-my-skills.
- 1sync-my-skillsSync and manage Claude Code skills across multiple machines using a private GitHub repo. Push, pull, and list your skills with simple commands.
/plugin install sync-my-skills@sync-my-skills
Files
sync-my-skills
Sync your Claude Code skills across multiple machines using GitHub.
Why
Claude Code skills live in local files (~/.claude/skills/) and don't sync across devices through your account. If you use Claude Code on multiple machines — work, home, laptop — you've probably wanted your custom skills everywhere without manually copying files.
This plugin automates that: push skills to a private GitHub repo from one machine, pull them on another.
Prerequisites
- Claude Code
- GitHub CLI (
gh) — installed and authenticated - Git
Installation
Install via Claude Code plugin:
/plugin marketplace add kunsanglee/sync-my-skills
/plugin install sync-my-skills
Or install manually:
mkdir -p ~/.claude/skills/my-skills curl -o ~/.claude/skills/my-skills/SKILL.md \ https://raw.githubusercontent.com/kunsanglee/sync-my-skills/main/skills/my-skills/SKILL.md
Usage
Run these commands inside Claude Code.
Initial Setup
/my-skills setup
- Verifies your GitHub account via
ghCLI - Creates a private repo (or clones an existing one)
- Generates a config file (
~/.my-skills.yml) - If skills already exist in the repo (from another machine), offers to link them
Push Skills (Local → GitHub)
/my-skills push # Push all linked user-level skills
/my-skills push memo # Push a specific skill
/my-skills push memo recap # Push multiple skills
/my-skills push backend-init -p # Push project-level skill (auto-detect project)
/my-skills push backend-init -p retrievo # Push to a specific project
The first push copies the skill to the repo and replaces the original with a symlink. Subsequent pushes just commit and push changes.
Pull Skills (GitHub → Local)
/my-skills pull # Pull all updates + offer to link new skills
/my-skills pull memo # Pull a specific skill
/my-skills pull memo recap # Pull multiple skills
/my-skills pull -p retrievo # Show retrievo's skills, select which to pull
/my-skills pull backend-init -p retrievo # Pull a specific project skill directly
List Skills
/my-skills list # Show all skills (user + project level)
/my-skills list -p retrievo # Show skills for a specific project
Example output:
Repo: username/my-skills (private)
── User Level ──
[linked] memo Create study notes from conversations
[linked] recap Summarize session work
[local only] backend-init Spring Boot project initializer
[other] skill-creator Create and improve skills (via plugin)
── Project Level ──
retrievo/
[linked] backend-init Spring Boot + Kotlin DDD project init
[remote] claude-api Build apps with Claude API
Unlink Skills
/my-skills unlink memo # Unlink a user-level skill
/my-skills unlink memo recap # Unlink multiple skills
/my-skills unlink backend-init -p # Unlink a project-level skill
Removes the symlink and restores the original from backup. The skill stays in the repo — only the local link is removed.
How It Works
~/.claude/skills/memo → (symlink) → ~/.my-skills-repo/user/memo
↕ (git push/pull)
GitHub: username/my-skills
↕ (git push/pull)
[Other machine] ~/.my-skills-repo/user/memo ← (symlink) ← ~/.claude/skills/memo
- When you push a skill, it's copied to
~/.my-skills-repo/user/(orprojects/<name>/for project-level) and the original is replaced with a symlink. - After that, editing the skill directly modifies the file in the repo directory (through the symlink).
/my-skills pushcommits and pushes changes to GitHub./my-skills pullon another machine fetches them.
Repo Structure
~/.my-skills-repo/
├── user/ ← user-level skills
│ ├── memo/SKILL.md
│ └── recap/SKILL.md
└── projects/ ← project-level skills (by project name)
├── retrievo/
│ └── backend-init/SKILL.md
└── execute/
└── frontend-init/SKILL.md
User Level vs Project Level
| Scope | Path | Applies to |
|---|---|---|
| User level | ~/.claude/skills/ |
All projects |
| Project level | {project}/.claude/skills/ |
That project only |
- Default scope is user level
- Use
--project(-p) flag for project-level skills
Status Labels
| Label | Meaning |
|---|---|
[linked] |
Symlink connected to repo — synced |
[remote] |
Exists in repo but not linked on this machine |
[local only] |
Exists locally but not in repo |
[other] |
Symlink pointing elsewhere (e.g. plugin-installed) |
FAQ
Q: Will my existing skills be deleted?
A: No. Original skills are backed up to ~/.my-skills-backup/ before being replaced with symlinks.
Q: What happens when I edit a skill?
A: The symlink points to the repo directory, so edits go directly to the repo. Just run /my-skills push to sync.
Q: What if I edit the same skill on two machines? A: A Git conflict may occur. The tool will show the conflict and help you resolve it.
Q: Is the repo public? A: No, it's created as private by default. Your personal skills stay private.
Q: What if I push the same skill name from different projects?
A: No conflict — project-level skills are stored under projects/<project-name>/, so the same skill name can exist in multiple projects.
Feedback & Feature Requests
Found a bug or have an idea? Open a GitHub Issue.
- Open an Issue
- Bug reports, feature requests, and feedback are all welcome.
Author
{
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "sync-my-skills",
"description": "Sync Claude Code skills across multiple machines using GitHub",
"owner": {
"name": "kunsanglee"
},
"plugins": [
{
"name": "sync-my-skills",
"description": "Sync and manage Claude Code skills across multiple machines using a private GitHub repo. Push, pull, and list your skills with simple commands.",
"source": "./",
"category": "productivity",
"homepage": "https://github.com/kunsanglee/sync-my-skills"
}
]
}Facts
- Kind
- Marketplace
- Repo
- kunsanglee/sync-my-skills
- Group
- Uncategorized
- Stars
- 0
- Marketplace name
- sync-my-skills
- Owner
- kunsanglee
- License
- MIT
- Created
- 2026-04-04
- Last push
- 2026-04-05
- Plugins
- 1
- 1obra/superpowersobra/superpowersAn agentic skills framework & software development methodology that works.297.9k
- 2affaan-m/everything-claude-codeaffaan-m/ECCThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.277.5k
- 3anthropics/skillsanthropics/skillsPublic repository for Agent Skills180.6k
- 4f/prompts.chatf/prompts.chatf.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.172.7k
- 5anthropics/claude-codeanthropics/claude-codeClaude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.150.3k
- 6nextlevelbuilder/ui-ux-pro-max-skillnextlevelbuilder/ui-ux-pro-max-skillAn AI skill that provides design intelligence for building professional UI/UX across multiple platforms.135k