メインコンテンツまでスキップ

レシピ: クロスマシン Sync

git の push/pull を使って複数のマシン間で Skill を同期し続ける。

シナリオ

デスクトップとノートパソコン(あるいは自宅とオフィスのマシン)で作業しています。各マシンでインストール コマンドを再実行することなく、どこでも同じ Skill ライブラリを使えるようにしたいです。

解決策

初期セットアップ(マシン A)

# skillshare を初期化する
skillshare init

# Skill をインストールする
skillshare install your-org/team-skills
skillshare install another/repo --into tools

# Source を git remote にプッシュする
skillshare push

skillshare push は Source ディレクトリを git 追跡下のブランチにコミットし、設定された remote に プッシュします。

新しいマシンでのセットアップ(マシン B)

# skillshare をインストールする
curl -fsSL https://raw.githubusercontent.com/runkids/skillshare/main/install.sh | sh

# 初期化する
skillshare init

# remote から pull する
skillshare pull

# ローカルの Target に Sync する
skillshare sync

日々の Sync ワークフロー

どのマシンでも:

# 他のマシンからの最新の変更を pull する
skillshare pull

# ローカルの AI ツールに Sync する
skillshare sync

# ローカルで変更を加えた後
skillshare push

確認

  • skillshare push が 0 で終了し、コミットされた変更を報告する
  • 別のマシンでの skillshare pull が受け取った変更を表示する
  • skillshare list が両方のマシンで同一の Skill を表示する
  • skillshare sync が Target のマシン上にシンボリックリンクを作成する

バリエーション

  • ログイン時の自動 Sync: シェルのプロファイル(.bashrc / .zshrc)に skillshare pull && skillshare sync を追加する
  • 競合の解決: 2台のマシンが同じ Skill を変更した場合、pull は git merge を使います — Source ディレクトリ内で競合を解決してください
  • 選択的な Sync: config.yaml の Target ごとの include / exclude フィルターを使い、 各マシンに Sync される Skill を制御する

関連項目