sync-global-claude-configs

sync-global-claude-configs is a skill for Claude Code from aiya000/dotfiles. It costs 117 tokens per session (1,686 once invoked), scanned B, original, MIT.

A configuration-sync procedure for comparing the live Claude Code files in your home directory with their version-controlled copies in a dotfiles repository. It separates expected machine-specific differences from changes that need syncing.

In plain words
What is it for?
It helps check symbolic links, compare configuration files, copy complete files, apply selected changes, or leave the difference for manual editing.
Why use it?
It prevents the two copies from quietly drifting apart, so a new rule, hook, or skill is not present in only one place. It also shows the difference before changing files.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: reads .claude/ paths; mentions CLAUDE.md; names the AskUserQuestion tool.

Good fit It helps check symbolic links, compare configuration files, copy complete files, apply selected changes, or leave the difference for manual editing.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/aiya000/dotfiles/sync-global-claude-configs
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add aiya000/dotfiles --skill sync-global-claude-configs
Clone the repo
git clone --depth 1 https://github.com/aiya000/dotfiles

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for sync-global-claude-configs

README.md
[![agentmods](https://agentmods.dev/badge/skills/aiya000/dotfiles/sync-global-claude-configs/github.svg)](https://agentmods.dev/skills/aiya000/dotfiles/sync-global-claude-configs)
Your own site
<a href="https://agentmods.dev/skills/aiya000/dotfiles/sync-global-claude-configs"><img src="https://agentmods.dev/badge/skills/aiya000/dotfiles/sync-global-claude-configs/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for sync-global-claude-configs

Your own site · 80×15
<a href="https://agentmods.dev/skills/aiya000/dotfiles/sync-global-claude-configs"><img src="https://agentmods.dev/badge/skills/aiya000/dotfiles/sync-global-claude-configs.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 117 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,686 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00117 $0.01686
Opus 5.5 $0.00047 $0.00674
Sonnet 5.5 $0.00023 $0.00337
Haiku 4.5 $0.00012 $0.00169

Measured 1mo ago against content hash aaea4a2e2e8e, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade B, and why

sync-global-claude-configs scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

allowed-tools: Bash(readlink *), Bash(stat *), Bash(diff *), Bash(cp *), Bash(ln *), Bash(mkdir *), Bash(cat *), Bash(jq *), Bash(git diff *), Bash(git status *), Read(~/.claude/CLAUDE.md), Read(~/.claude/settings.json),
.claude_global/skills/sync-global-claude-configs/SKILL.md · 100 lines

How it starts

The opening of the file, as written. The whole thing — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.

sync-global-claude-configs

Keep the live global Claude Code configs and their dotfiles sources from drifting apart.

Pair HOME (what Claude Code loads) DOTFILES (version-controlled) Expected relation
CLAUDE.md ~/.claude/CLAUDE.md ~/.dotfiles/.claude_global/CLAUDE.md HOME is a symlink to DOTFILES
settings.json ~/.claude/settings.json ~/.dotfiles/.claude_global/settings.json DOTFILES is a template; HOME is a configured copy

See ~/.dotfiles/.claude_global/README.md for how the pair was set up.

Out of Scope: Expected Differences

These settings.json keys are expected to differ between HOME and DOTFILES. They are not drift — leave them alone, never offer to port them, and never write the HOME value into the template.

  • modelSettings (effortLevel) — tuned per machine; the template must not pin an effort level
  • model — tuned per machine
  • {INPUT-YOUR-HOME-DIR} placeholders, such as the notify command in the Stop hook — only HOME holds the real path
  • sandbox.filesystem.allowWrite paths — machine-specific, such as WSL's /mnt/c/...
  • autoMode.environment and autoMode.soft_deny — generated from this machine's own repos and environment

Anything not on this list is drift: a general change — a new allow rule, a new hook, a renamed skill — that landed on one side and not the other.

When a sync turns up a difference that belongs on this list, offer to add it here instead of porting it, so the next run stops asking about it.

Steps

Run the steps for each pair in the table, CLAUDE.md first.

  1. Check the link. readlink -f <HOME> and stat -c '%F' <HOME>
    • If HOME is a symbolic link resolving to DOTFILES, report "linked, nothing to sync" and move to the next pair. There is exactly one file
    • If HOME does not exist, treat it as direction DOTFILES → HOME in step 4 (whole file)

Read the full file on GitHub · 100 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago Changed · +15 lines aaea4a2e2e8e
  2. 1mo ago First seen · 85 lines · 117 tokens per session scan B 28e4677bf30b

Subscribe to this mod's changes

sync-global-claude-configs is a skill published in the GitHub repository aiya000/dotfiles (21 stars, last pushed 2d ago), licensed MIT. It adds 117 tokens to every session and 1,686 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-07.