Skip to content
Back to skills

Claude Sync

ASecurity

Synchronize Claude Code configuration files to existing codebases. Updates skills, CLAUDE.md, settings, and related configuration from a source template to target repositories. Includes automatic backup and dry-run capabilities.

  • 666 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 8, 2026
businesspythongobashgitapi

Works with

  • claude code
  • api
  • mcp

Security analysis

A93/100
  • highPerforms destructive filesystem operations

Pro shows the line behind each finding and how to fix it

Scanned February 10, 2026

npx -y skills add majiayu000/claude-skill-registry --skill claude-sync --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Claude Sync?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Claude Sync
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-claude-sync/badge)](https://www.skillsdirectory.com/skills/majiayu000-claude-sync)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: claude-sync
version: 1.0.0
description: Synchronize Claude Code configuration files to existing codebases. Updates skills, CLAUDE.md, settings, and related configuration from a source template to target repositories. Includes automatic backup and dry-run capabilities.
---

# Claude Sync Skill

Synchronize Claude Code configuration files from a source template to existing codebases. Ensures projects stay up-to-date with the latest skills, configurations, and best practices.

## Triggers

Use this skill when:
- Syncing Claude Code configuration to an existing project
- Updating a codebase with the latest Claude settings
- Ensuring a project has all standard Claude Code files
- Migrating configurations between projects
- Keywords: claude sync, sync configuration, update claude config, sync skills, configuration sync

## Core Mission

Synchronize Claude Code configuration files from a template repository to existing codebases, ensuring every project has:
- Latest Claude Code skills
- Updated CLAUDE.md instructions
- Current settings and configurations
- Automatic backups of existing files

---

## What Gets Synced

| Category | Files/Folders | Description |
|----------|---------------|-------------|
| **Skills** | `.claude/skills/` | All custom Claude Code skills |
| **Settings** | `.claude/settings.json` | Claude Code configuration |
| **Instructions** | `CLAUDE.md` | Project-level Claude instructions |
| **MCP Config** | `.claude/mcp.json` | MCP server configurations |
| **Commands** | `.claude/commands/` | Custom slash commands |
| **Templates** | `.claude/templates/` | Code and document templates |
| **Pre-commit** | `.pre-commit-config.yaml` | Secret detection hooks |
| **Git Attributes** | `.gitattributes` | File handling config |

---

## Workflow

### Step 1: Validate Target Codebase

Before syncing, validate the target:

```bash
# Check if path exists
test -d "<target_path>"

# Check if it's a Git repository
test -d "<target_path>/.git"
```

**Validations:**
1. Path exists and is a directory
2. Path is an initialized Git repository
3. User has write permissions

### Step 2: Gather Information

Collect the following:

```markdown
1. **Source Path** - Template repository with source configurations
   - Must contain .claude/ directory
   - Example: E:\Repos\Templates\claude-code-base

2. **Target Path** - Full path to the codebase to sync
   - Must be an existing Git repository
   - Example: E:\Repos\MyOrg\my-project

3. **Dry Run?** - Preview changes without applying
   - Default: No (apply changes)
   - Recommended for first-time sync

4. **Create Backups?** - Backup existing files
   - Default: Yes
   - Backups stored in .claude-backup/
```

### Step 3: Preview Changes (Dry Run)

If dry run requested, show what would happen:

```markdown
## Dry Run Preview

### Files to Create (New)
- .claude/skills/new-skill/SKILL.md
- .claude/commands/new-command.md

### Files to Update (Overwrite)
- CLAUDE.md
- .claude/settings.json
- .claude/skills/existing-skill/SKILL.md

### Summary
- New files: 5
- Updated files: 12
- Total files: 17
```

### Step 4: Execute Sync

Perform the sync with backups:

```python
import shutil
import os
from datetime import datetime

# Create backup directory
backup_dir = os.path.join(target_path, ".claude-backup", datetime.now().strftime("%Y%m%d_%H%M%S"))
os.makedirs(backup_dir, exist_ok=True)

# For each file to sync
for source_file in sync_files:
    target_file = os.path.join(target_path, source_file)

    # Backup if exists
    if os.path.exists(target_file):
        backup_file = os.path.join(backup_dir, source_file + ".backup")
        os.makedirs(os.path.dirname(backup_file), exist_ok=True)
        shutil.copy2(target_file, backup_file)

    # Copy from source
    shutil.copy2(os.path.join(source_path, source_file), target_file)
```

### Step 5: Post-Sync Customization

After sync, guide user to customize:

1. **Review CLAUDE.md**
   - Add project-specific context
   - Update technology stack references
   - Add custom rules for this codebase

2. **Check for conflicts**
   - Review any customizations that may have been overwritten
   - Restore from backups if needed: `.claude-backup/`

3. **Commit changes**
   ```bash
   git add .claude CLAUDE.md
   git commit -m "chore: sync Claude Code configuration"
   ```

### Step 6: Provide Summary

Output a summary of the sync:

```markdown
# Claude Sync Complete!

## Sync Details

| Metric | Count |
|--------|-------|
| **Files Synced** | 150 |
| **New Files** | 45 |
| **Updated Files** | 105 |
| **Backups Created** | 105 |

## Target Codebase

- **Path:** E:\Repos\MyOrg\my-project
- **Backups:** E:\Repos\MyOrg\my-project\.claude-backup

## What Was Synced

- 80+ Claude Code skills
- CLAUDE.md instructions
- Settings and MCP configuration
- Custom commands
- Pre-commit configuration

## Next Steps

1. Review `CLAUDE.md` and add project context
2. Check `.claude-backup/` for any files you need to restore
3. Commit: `git add .claude CLAUDE.md && git commit -m "chore: sync Claude config"`
```

---

## Error Handling

| Error | Resolution |
|-------|------------|
| Path doesn't exist | Ask for correct path |
| Not a Git repository | Ask to initialize with `git init` or choose different path |
| Permission denied | Check write permissions |
| Source path not found | Verify source template location |
| Backup failed | Check disk space, try without backup |

---

## Options Reference

| Option | Description | Default |
|--------|-------------|---------|
| Source Path | Path to source configuration | Required |
| Target Path | Path to target codebase | Required |
| Dry Run | Preview changes only | False |
| No Backup | Skip creating backups | False |
| Force | Skip confirmation prompts | False |

---

## Backup & Recovery

### Backup Location

```
<target_path>/.claude-backup/
├── 20260122_143052/
│   ├── CLAUDE.md.backup
│   ├── .claude/
│   │   ├── settings.json.backup
│   │   ├── skills/
│   │   │   └── my-custom-skill/
│   │   │       └── SKILL.md.backup
│   │   └── ...
│   └── ...
└── ...
```

### Restore a File

```bash
# Find backups
find <target>/.claude-backup -name "*.backup"

# Restore a specific file
cp "<backup_file>" "<original_location>"
```

### Clean Up Backups

```bash
# Remove old backups (optional)
rm -rf <target>/.claude-backup
```

---

## Example Session

```
User: Sync Claude configuration to my project

Claude: I'll help you sync Claude Code configuration files.

Q1: What is the path to the source template?
> E:\Repos\Templates\claude-code-base

Q2: What is the path to the target codebase?
> E:\Repos\MyOrg\customer-api

Q3: Would you like to preview changes first (dry run)?
> Yes

Checking prerequisites... Done
Validating source path... Done
Validating target path... Done
Target is a Git repository... Done

## Dry Run Preview

Would create: .claude/skills/new-skill/SKILL.md
Would update: CLAUDE.md
... (more files)

Summary:
   Would sync: 150 files
   New files: 45
   Would update: 105

Q4: Apply these changes?
> Yes

Syncing files... Done
Creating backups... Done

Claude Sync Complete!

- Path: E:\Repos\MyOrg\customer-api
- Backups: E:\Repos\MyOrg\customer-api\.claude-backup

Next steps:
1. Review CLAUDE.md
2. Commit: git add .claude CLAUDE.md && git commit -m "chore: sync Claude config"
```

---

## Selective Sync

For partial syncs, you can specify categories:

```markdown
## Sync Options

- [ ] All (default)
- [ ] Skills only
- [ ] Settings only
- [ ] CLAUDE.md only
- [ ] Commands only
- [ ] Custom selection
```

### Skills Only

```bash
# Sync only the skills directory
rsync -av --backup --suffix=.backup \
  "<source>/.claude/skills/" \
  "<target>/.claude/skills/"
```

### CLAUDE.md Only

```bash
# Sync only CLAUDE.md
cp "<source>/CLAUDE.md" "<target>/CLAUDE.md"
```

---

## Best Practices

1. **Always backup first**: Enable backups on first sync
2. **Dry run first**: Preview changes before applying
3. **Review CLAUDE.md**: Add project-specific context after sync
4. **Commit promptly**: Commit synced changes before making modifications
5. **Regular syncs**: Schedule periodic syncs to stay current
6. **Check for conflicts**: Some skills may need project customization

---

## Related Skills

- [project-wizard](../project-wizard/SKILL.md) - For creating new projects
- [archon-workflow](../archon-workflow/SKILL.md) - For task management
- [git-workflow](../git-workflow/SKILL.md) - For Git operations

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.