Global config push
Skill mjcreativelab/mjcreativelab-agent-prompts/internal/global-config-push
Claude Code 用プラグイン集(skills, hooks, rules)
npx -y skills add mjcreativelab/mjcreativelab-agent-prompts --skill global-config-pushAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
リポジトリの dotfiles/claude/ からグローバル Claude 設定(~/.claude/ の CLAUDE.md・settings.json・statusline-command.sh・rules/・hooks/・agents/・commands/・keybindings.json・.mcp.json)へ反映する。「設定を反映する」「グローバル設定を push して」と言ったら起動。既存ファイルはバックアップ後に上書き。
SKILL.md
5.8 KB, ~1.9k tokens by cl100k_base, as published. Nobody here has run it
Global Config Push
dotfiles/claude/ の設定ファイルを ~/.claude/ に反映(コピー)する。
同期対象
pull(global-config-pull)と同一。ミラー側に存在するものだけを反映する:
- ファイル:
CLAUDE.md・settings.json・statusline-command.sh・keybindings.json・.mcp.json - ディレクトリ:
rules/・hooks/・agents/・commands/
push は追加・上書きのみ行い、~/.claude/ 側にしかないファイルは削除しない(ローカル限定ファイルの保護。削除の反映=ミラー同期は pull 側のみ)。
settings.json だけは単純コピーではなくマージで反映する(手順 3)。pull 側がミラー作成時に (a) $HOME を ~ へ正規化し、(b) ~/.claude/.config-sync-exclude に列挙した非公開 marketplace のエントリを除去しているため、そのまま上書きすると live の絶対パスが ~ リテラルに化け、社内 marketplace の設定が消えるため。
手順
リポジトリルートで実行する。
-
差分確認(反映前に必ず実施):
for f in CLAUDE.md settings.json statusline-command.sh keybindings.json .mcp.json; do [ -f dotfiles/claude/"$f" ] && { echo "--- $f"; diff dotfiles/claude/"$f" ~/.claude/"$f"; } done for d in rules hooks agents commands; do [ -d dotfiles/claude/"$d" ] && { echo "--- $d/"; diff -r dotfiles/claude/"$d" ~/.claude/"$d"; } done差分サマリを日本語で提示し、ユーザーに反映の意思を確認する(
AskUserQuestionを使う)。 -
バックアップ:
TS=$(date +%Y%m%d%H%M%S) for f in CLAUDE.md settings.json statusline-command.sh keybindings.json .mcp.json; do [ -f ~/.claude/"$f" ] && cp ~/.claude/"$f" ~/.claude/"$f".bak.${TS} done for d in rules hooks agents commands; do [ -d ~/.claude/"$d" ] && cp -R ~/.claude/"$d" ~/.claude/"$d".bak.${TS} done -
コピー実行(追加・上書きのみ。削除はしない):
for f in CLAUDE.md statusline-command.sh keybindings.json .mcp.json; do [ -f dotfiles/claude/"$f" ] && cp dotfiles/claude/"$f" ~/.claude/"$f" done for d in rules hooks agents commands; do [ -d dotfiles/claude/"$d" ] && { mkdir -p ~/.claude/"$d" && cp -R dotfiles/claude/"$d"/. ~/.claude/"$d"/; } done chmod +x ~/.claude/hooks/*.sh ~/.claude/statusline-command.sh 2>/dev/null || truesettings.jsonは~の展開 + 非公開 marketplace の保持を行ってから反映する(jqが必要。live 側が無い初回はミラーをそのまま置く):MIRROR=dotfiles/claude/settings.json if [ -f "$MIRROR" ]; then TMP="${TMPDIR:-/tmp}/settings-push.json" sed "s|\"~/|\"${HOME}/|g" "$MIRROR" > "$TMP" if [ -f ~/.claude/settings.json ]; then EXCLUDE=~/.claude/.config-sync-exclude MPS=$([ -f "$EXCLUDE" ] && grep -vE '^[[:space:]]*(#|$)' "$EXCLUDE" | jq -R . | jq -s . || echo '[]') jq -s --argjson mps "$MPS" ' .[0] as $mirror | .[1] as $live | $mirror | .enabledPlugins = (($mirror.enabledPlugins // {}) + (($live.enabledPlugins // {}) | with_entries((.key | split("@") | last) as $m | select(($mps | index($m)) != null)))) | .extraKnownMarketplaces = (($mirror.extraKnownMarketplaces // {}) + (($live.extraKnownMarketplaces // {}) | with_entries(.key as $k | select(($mps | index($k)) != null)))) ' "$TMP" ~/.claude/settings.json > "${TMP}.merged" && mv "${TMP}.merged" "$TMP" fi jq -e . "$TMP" >/dev/null && cp "$TMP" ~/.claude/settings.json fijq -e .の妥当性チェックを通ったものだけ反映する(壊れた JSON で live 設定を潰さない)。jqが無い環境ではこのステップを飛ばし、settings.json は反映せずその旨を報告する(単純コピーで代替しない)。 -
確認:
for f in CLAUDE.md statusline-command.sh keybindings.json .mcp.json; do [ -f dotfiles/claude/"$f" ] && { diff dotfiles/claude/"$f" ~/.claude/"$f" >/dev/null && echo "$f: OK" || echo "$f: 差分あり(要確認)"; } done for d in rules hooks agents commands; do [ -d dotfiles/claude/"$d" ] && { echo "--- $d/"; diff -r dotfiles/claude/"$d" ~/.claude/"$d"; } done # settings.json はマージ反映のため一致しないのが正常。ミラー側の内容が live に入ったかを確認する jq -e . ~/.claude/settings.json >/dev/null && echo "settings.json: 妥当な JSON" echo "live のみに残る非公開 marketplace: $(jq -r '.extraKnownMarketplaces | keys | join(",")' ~/.claude/settings.json)" grep -c '"~/' ~/.claude/settings.json | sed 's/^/live に残る ~ リテラル: /'結果を日本語で報告する。バックアップパスも提示すること。ディレクトリの diff で
Only in ~/.claude/...が出た場合は、ミラー対象外(ローカル限定)のファイルを示すだけなので、ミラー側ファイルが一致していれば反映は成功と判断してよい。settings.jsonはマージ反映のためミラーと一致しないのが正常で、確認すべきは「妥当な JSON であること」「非公開 marketplace が live に残っていること」「~リテラルが 0 件であること」の 3 点。
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.