Back to Skills

sync-skills

verified

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 GitHub

Marketplace

nathankrebs-skills

nkrebs13/ClaudeCodeSkills

Plugin

dev-tools

Repository

nkrebs13/ClaudeCodeSkills

skills/sync-skills/SKILL.md

Last Verified

January 21, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/nkrebs13/ClaudeCodeSkills/blob/main/skills/sync-skills/SKILL.md -a claude-code --skill sync-skills

Installation paths:

Claude
.claude/skills/sync-skills/
Powered by add-skill CLI

Instructions

# 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

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
5269 chars