manage-worktrees について
Git worktreeの必要性の判断から作成、クリーンアップまでを扱うスキルです。配置場所や入れ子を制限し、作業内容がリモートに保存されるかユーザーが免除するまで削除を待ちます。
主な機能
- 01現在のチェックアウトがworktreeか判定
- 02実行環境のネイティブ機能を優先
- 03`.worktrees/`配下にworktreeを作成
- 04ビルドやテスト用の依存関係を設定
- 05worktreeの削除と登録の整理
活用シーン
- 01並行するエージェント作業の分離
- 02使用中のチェックアウトと並行した作業
- 03マージ済みまたは放棄したブランチの整理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ klausborges/ workflow-skills --skill manage-worktreesインストール後、Claude Code で/manage-worktreesを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yamlskill.toml
詳細
Worktree の管理
配置ルールは git-conventions スキルに従います。Worktree は任意です。分離が役立つ場合(並行するエージェント、使用中のチェックアウトと並行した作業など)に利用し、それ以外は現在の場所で作業します。
ワークフロー
- まず既存の分離環境を検出します。
git rev-parse --git-dirと--git-common-dirの結果が異なり、git rev-parse --show-superproject-working-treeが何も出力しない場合は、すでに worktree 内にいます。その worktree を使い、作成は省略します。 - ハーネスにネイティブの worktree ツールがある場合は、そちらを優先します。配置とクリーンアップはツールが自動で管理します。
- 手動で代替する場合:
.worktrees/が無視対象であることを確認します(git check-ignore -q .worktrees/wtを実行します。無視対象でない場合は.gitignoreに追加してコミットします)。その後、既存のブランチにはgit worktree add .worktrees/<flattened-branch> <branch>を実行し、新しいブランチを作成する場合は-b <branch>を追加します。 - ビルドやテストが必要な作業では、新しい worktree でリポジトリの依存関係のセットアップを実行します。
- ブランチがマージされたとき、または放棄されたときにクリーンアップします。
git worktree remove <path>を実行してブランチを削除し、登録が壊れている場合はgit worktree pruneを実行します。判断に迷う場合はgit worktree listで確認します。
ガードレール
- worktree を別の worktree の中に作成しないでください。
- worktree は
.worktrees/またはネイティブハーネスのホームディレクトリの下にのみ作成してください。プロジェクトのフォルダーには、通常の worktree と同階層のフォルダーを残さないでください。 - ブランチの先端がリモートから到達可能になるか、ユーザーが不要であると認めるまで、削除は行わないでください。
出力
worktree のパスとブランチ、または git worktree list に基づいて実施したクリーンアップ。
コメント
Markdown 対応