onsails

Ccsync — Development skill for Claude Code

Development community

Sync Claude-Code agents/skills/commands between ~/.claude and your project (both ways).

How to install Ccsync

This entry records only its repository, not the path inside it, so there is no exact command to give. Open onsails/ccsync and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Ccsync does

Sync Claude-Code agents/skills/commands between ~/.claude and your project (both ways).

Alternatives in Development

  • Claude Context Mode — An MCP server that sits between Claude Code and these outputs 5.3k ★
  • Battle — Head-to-head graded battle card between two sites — eight dimensions, bar-by-bar, verdict line 3.6k ★
  • Workstation Setup — Shared workstation setup for both source trees in this repo 2.8k ★

README

ccsync

Sync your Claude Code agents, skills, and commands between global and project configurations.

Keep your Claude Code setup consistent across projects while maintaining project-specific customizations.

ccsync

📦 Installation

Using Cargo

cargo install ccsync

Using curl (Linux/macOS)

curl https://i.jpillora.com/onsails/ccsync@ccsync-v0.1.8! | bash

Using Nix/NixOS

**Note:** Nix package is pending review ([PR #456721](https://github.com/NixOS/nixpkgs/pull/456721))

# Once merged, install with:
nix profile install nixpkgs#ccsync

# Or use in a shell:
nix shell nixpkgs#ccsync

🚀 Quick Start

# Sync your global Claude settings to current project
ccsync to-local

# Sync project settings back to global
ccsync to-global

The tool will prompt you for each file. Press a single key:

  • y - Yes, sync this file
  • n - No, skip this file
  • a - Yes to all remaining
  • s - Skip all remaining
  • d - Show me the changes first
  • q - Quit

Skip Prompts

# Auto-approve everything (useful for scripts)
ccsync to-local --yes-all

# Preview what would change (no actual changes)
ccsync to-local --dry-run

📝 Common Tasks

Sync Specific Types

# Sync only agents
ccsync to-local --type=agents

# Sync only skills
ccsync to-local --type=skills

# Sync multiple types
ccsync to-local --type=agents --type=skills

Handling Conflicts

When the same file exists in both locations with different content:

# Stop and ask (default)
ccsync to-local

# Always overwrite with source
ccsync to-local --conflict=overwrite

# Skip files that have conflicts
ccsync to-local --conflict=skip

# Keep whichever file is newer
ccsync to-local --conflict=newer

💡 How It Works

By default, `ccsync` asks you to approve each file before syncing: