| name | description |
|---|---|
git-worktree |
Git worktreeを使った並列開発を支援する。複数のClaude Codeインスタンスで同時に異なるブランチの作業を行う際に使用する。"worktree"、"並列開発"、"別ブランチで作業"などのキーワードで発動。 |
Git worktreeを使って並列開発を支援するスキル。
作業を開始する前に、必ずこのスキルを使ってworktreeとブランチを作成すること。
worktree作成後は、必ず .claude/settings.local.json のシンボリックリンクを作成すること。 この手順は必須である。スキップしてはならない。シンボリックリンクを作成することで、MCP/コマンド/スキルの許可設定が全worktree間で確実に共有される。
Conventional Commitに準じた形式でブランチ名を付ける:
<type>/<short-description>
| type | 用途 |
|---|---|
feat |
新機能追加 |
fix |
バグ修正 |
refactor |
リファクタリング |
docs |
ドキュメント変更 |
style |
コードスタイル変更(フォーマットなど) |
test |
テスト追加・修正 |
chore |
ビルド・設定・依存関係の変更 |
perf |
パフォーマンス改善 |
feat/add-dark-mode
fix/like-button-error
refactor/api-structure
docs/update-readme
chore/update-dependencies
# 1. worktreesディレクトリの確認・作成
ls worktrees 2>/dev/null || mkdir -p worktrees
# 2. 新しいブランチとworktreeを同時に作成
git worktree add worktrees/<branch-name> -b <type>/<short-description>
# 3. 【必須】Claude設定のシンボリックリンクを作成(絶対パスを使用)
# この手順は必ず実行すること。スキップ不可。
# メインリポジトリのルートディレクトリを取得
MAIN_REPO=$(git worktree list --porcelain | grep -m 1 "worktree" | cut -d' ' -f2)
# 既存のsettings.local.jsonを削除してからシンボリックリンクを作成
rm -f worktrees/<branch-name>/.claude/settings.local.json
ln -s "${MAIN_REPO}/.claude/settings.local.json" worktrees/<branch-name>/.claude/settings.local.json
# 例: feat/add-dark-mode ブランチとworktreeを作成
git worktree add worktrees/add-dark-mode -b feat/add-dark-mode
# 【必須】シンボリックリンク作成(この手順を忘れないこと)
MAIN_REPO=$(git worktree list --porcelain | grep -m 1 "worktree" | cut -d' ' -f2)
rm -f worktrees/add-dark-mode/.claude/settings.local.json
ln -s "${MAIN_REPO}/.claude/settings.local.json" worktrees/add-dark-mode/.claude/settings.local.jsongit worktree list# worktreeを削除(ブランチは残る)
git worktree remove worktrees/<worktree-name>
# worktreeをprune(不要な参照を削除)
git worktree prunegit worktree add worktrees/<worktree-name> <existing-branch>- ユーザーの作業内容を確認する
- 適切なブランチ名を決定する(type/short-description形式)
- worktreeを作成する
- メインリポジトリのパスを取得する(
git worktree list --porcelainを使用) - 【必須】既存のsettings.local.jsonを削除してから、Claude設定のシンボリックリンクを絶対パスで作成する(settings.local.jsonをメインリポジトリから参照)。この手順は必ず実行すること。
- 作成したworktreeのパスを報告する
- 作業完了後、worktreeの削除を案内する
blog/
├── (メインリポジトリのファイル群)
├── .gitignore # worktrees/ を除外済み
└── worktrees/
├── add-dark-mode/ # feat/add-dark-mode
├── fix-like-button/ # fix/like-button-error
└── refactor-api/ # refactor/api-structure
- worktreeのディレクトリ名はブランチ名のshort-description部分を使用する
- 同じブランチで複数のworktreeは作成できない
- 作業完了後は
git worktree removeでworktreeを削除すること - マージ後はブランチも削除すること
.claude/settings.local.jsonはシンボリックリンク(絶対パス)でメインリポジトリと共有される(MCP/コマンド/スキルの許可設定が全worktreeで同期される)- シンボリックリンクは必ず絶対パスで作成すること(相対パスでは正しく動作しない場合がある)
git worktree add実行時にGitが自動的に.claude/settings.local.jsonをコピーするため、シンボリックリンク作成前に既存ファイルを削除する必要がある