Cross-device sync for your Claude Code setup. A wizard skill that walks
you through creating a private GitHub repo that mirrors your
~/.claude/ configuration across machines — settings, custom skills,
plugin/MCP enablement — without ever committing your auth token.
Distributed as a Claude Code plugin via its own marketplace.
A single-skill Claude Code plugin. After you install it, ask Claude something like:
- "Sync my Claude Code setup to my laptop."
- "Get the same Claude config on a new machine."
- "Mirror my plugins and skills between PC and laptop."
The cross-device-sync skill activates and walks you through:
- Choosing scope — what gets synced (settings, custom skills, CLI inventory) and what stays per-device (auth tokens, sessions, memory, plans, runtime state).
- Creating a private repo — via
gh repo create --private. - Scaffolding the repo —
.gitignore,bootstrap,prereqs,push-from-machine, plus a per-MCP re-auth guide. - A security gate before first push —
git ls-filescheck for credentials,.env, OAuth, Python build artifacts. - The second-machine workflow —
prereqs→ login →bootstrap→ restart → re-authenticate connectors on first use.
The repo it creates is yours. This plugin doesn't host anything centrally and doesn't phone home.
/plugin marketplace add Fluory/claude-sync-kit
/plugin install claude-sync-kit
Then start a conversation and ask Claude to sync your setup.
| File / Folder | Synced? | Why |
|---|---|---|
~/.claude/settings.json |
YES | Master config with enabled plugins |
~/.agents/skills/ (or wherever your skill content lives) |
YES | The actual skill files |
Plugin contents (~/.claude/plugins/cache/) |
NO | Regenerates from marketplace on first start |
| MCP/connector list | YES (implicit) | Comes via enabled plugins in settings.json |
| MCP/connector auth tokens | NO | Each machine re-auths (security feature) |
.credentials.json |
NEVER | Your Claude auth token |
~/.claude.json |
NO | Runtime state, OAuth, growthbook |
projects/, sessions/, tasks/, todos/ |
NO | Per-device session state |
plans/, shell-snapshots/, cache/ |
NO | Local state |
The bundled .gitignore covers all of this.
A static template repo would force you into one structure. The wizard:
- Detects your OS on both machines (Windows-first; Mac/Linux templates best-effort).
- Picks up where your real skill content lives (junctions on Windows, symlinks on Unix often resolve to a separate skills directory).
- Generates only the scripts and gitignore entries you actually need.
- Runs the security gate as part of the flow, not as an opt-in.
You can also just lift the templates from
skills/cross-device-sync/templates/ and use them directly without
Claude in the loop.
- Memory sync.
claude-memper-project memory is intentionally out of scope. It's per-project, per-device, conflict-prone. - A public skill marketplace. This plugin helps you sync your own setup; it doesn't help you redistribute downloaded third-party skills.
- A backup tool. No history, no encryption. It's a configuration mirror, not a vault.
- Windows is the tested path. The author runs it on Windows; Mac/Linux templates are reasonable but unverified. PRs welcome.
- Connectors re-auth per machine. This is on purpose — your Stripe key on one laptop should not appear on another via a sync. If this annoys you, you're using the wrong tool.
- GitHub Secret Scanning will catch leaked Claude tokens even in
private repos and invalidate them. The
.gitignorematters even when the repo is private. The skill enforces a pre-push check.
MIT. See LICENSE.
@Fluory — Florian Hein.