Bidirectional sync between local Claude Code skills (~/.claude/skills/) and the GithubSkills repository. Use when you need to push local skills to the repo, pull repo skills to local, or check sync status.
View on GitHubnkrebs13/ClaudeCodeSkills
dev-tools
skills/sync-skills/SKILL.md
January 21, 2026
Select agents to install to:
npx add-skill https://github.com/nkrebs13/ClaudeCodeSkills/blob/main/skills/sync-skills/SKILL.md -a claude-code --skill sync-skillsInstallation paths:
.claude/skills/sync-skills/# Sync Skills Bidirectional synchronization between local Claude Code skills and the GithubSkills repository. ## Commands | Command | Description | |---------|-------------| | `/sync-skills status` | Show sync status between local and repo | | `/sync-skills push` | Push publishable local skills to repo | | `/sync-skills pull` | Pull repo skills to local | | `/sync-skills scan` | Run security scan on all skills | ## Locations - **Local skills**: `~/.claude/skills/` - **Repository**: `~/Personal/GithubSkills/skills/` ## Publish Flag Skills are **public by default**. To keep a skill private: ```yaml --- name: my-private-skill publish: false # This skill stays local only --- ``` Skills without a `publish` field or with `publish: true` will be synced to the repository. ## Command: status Show what's different between local and repo skills. ### Workflow 1. List all skills in `~/.claude/skills/` 2. List all skills in `~/Personal/GithubSkills/skills/` 3. For each skill: - Check if exists in both locations - Compare content hashes if in both - Check `publish` flag in frontmatter 4. Output status table ### Output Format ``` ## Sync Status | Skill | Local | Repo | Status | Publish | |-------|-------|------|--------|---------| | asset-gen | ✓ | ✓ | In Sync | true | | audit-project | ✓ | ✓ | Modified (local newer) | true | | my-private | ✓ | - | Local Only | false | | sync-skills | - | ✓ | Repo Only | true | ``` ### Implementation ```bash # Get local skills ls ~/.claude/skills/ # Get repo skills ls ~/Personal/GithubSkills/skills/ # For each skill, check frontmatter python3 ~/Personal/GithubSkills/skills/sync-skills/scripts/parse_frontmatter.py <skill_path>/SKILL.md # Compare hashes python3 ~/Personal/GithubSkills/skills/sync-skills/scripts/compute_hash.py <directory> ``` ## Command: push Copy publishable local skills to the repository. ### Workflow 1. For each skill in `~/.claude/skills/`: a. Check `publish` flag (default: true) b. If `pu