worktree について
Git worktreeをエージェントの隔離セッションとして管理するスキルです。作成・削除・一覧表示に対応し、ディスク変更前の人間による承認とパス、作業ツリーの安全確認を必須にします。
主な機能
- 01worktreeの作成・削除・一覧表示
- 02専用パス配下へのファイル配置
- 03ブランチとディレクトリの競合確認
- 04未コミット変更があるworktreeの削除防止
- 05変更前の人間による承認
活用シーン
- 01ブランチごとのリポジトリ作業の分離
- 02稼働中のworktreeとブランチの確認
- 03未コミット作業の誤削除防止
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ venhdev/ skills --skill worktreeインストール後、Claude Code で/worktreeを入力して読み込まれたか確認します。
詳細
worktree — 分離セッション&ブランチエンジン
運用上の不変条件
- パスの分離:ブランチの編集、シェルコマンド、テストの実行はすべて
.agents/worktree/<branch>内に厳密に限定してください。worktree セッションからリポジトリのルートにあるファイルを変更することは禁止します。 - 未コミット変更の確認:worktree を削除する前に
git status --porcelainで作業ツリーがクリーンであることを確認してください。未コミットの変更がある worktree の削除は禁止します。 - 変更前の承認ゲート:Canonical Changeset 形式で worktree の作成または削除をステージングし、直ちにターンを終了してください。人間による明示的な承認なしに、ディスク上で worktree の変更を実行することは禁止します。
ドメインの基準
1. 命名規則と保存規則
<branch>:<type>/<slug>の形式に厳密に従ってください(feat/、fix/、refactor/、chore/、test/)。<path>:.agents/worktree/<branch>の配下に厳密に配置する専用パスです。- プライバシーの基準:ルートの
.gitignoreに.agents/worktree/を含めてください。
2. サポート対象の worktree 操作
[CREATE]:指定したパスにチェックアウトした新しい worktree ブランチを追加します。[DELETE]:worktree ディレクトリを削除し、Git の管理メタデータを整理します。[LIST]:アクティブな worktree と関連するブランチを確認します。
標準出力形式
# Changeset: Git Worktree <Action>
`-- .agents/worktree/<branch>/
`-- [<ACTION>] <Worktree operation summary>.
Summary: 1 worktree affected (<branch>).
実行プロトコル
フェーズ 1:事前確認と競合の監査
- 作成の場合:
git worktree listを確認し、ブランチ名またはディレクトリの競合がないことを検証します。 - 削除の場合:対象の
<path>内でgit status --porcelainを確認します。変更がある場合は、直ちに中止して未コミットのファイルを報告します。 - 一覧表示の場合:
git worktree listを実行し、アクティブな worktree を提示して、直ちにターンを終了します。
フェーズ 2:ステージングと承認ゲート
- 計画した worktree の変更を Canonical Changeset 形式でステージングします。
- ステージングの概要を提示し、直ちにターンを終了します。明示的な承認なしに Git の変更を実行してはいけません。
フェーズ 3:一括実行と引き継ぎ
- 承認後、必要な操作を実行します。
- 作成:
git worktree add <path> -b <branch> <base_ref> - 削除:
git worktree remove <path> && git worktree prune
- 作成:
- 操作の完了を、IDE で移動できるワークスペースの絶対パスとともに報告します。
コメント
Markdown 対応