From eld-plugin
高リスク変更時にgit worktreeで隔離環境を作成。 eld-predict-impactでHigh/Critical判定された変更に対して安全な実験環境を提供。 トリガー条件: - 「worktreeで隔離して」「安全な環境で試して」「実験的に変更して」 - eld-predict-impactでHigh/Critical判定時の自動提案 - 大規模リファクタリング、アーキテクチャ変更時 - 「失敗しても大丈夫なように」
How this skill is triggered — by the user, by Claude, or both
Slash command
/eld-plugin:eld-change-worktreeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
高リスク変更時にgit worktreeで隔離環境を作成し、安全な実験を可能にする。
高リスク変更時にgit worktreeで隔離環境を作成し、安全な実験を可能にする。
/eld-predict-impact の出力からリスクレベルを判定Git worktreeは、同じリポジトリの複数のブランチを異なるディレクトリで同時に扱える機能。
通常のブランチ切り替え:
repo/
├── src/
└── tests/
git checkout feature-branch # 同じディレクトリ内でブランチ切り替え
worktree使用時:
repo/ # main ブランチ
├── src/
└── tests/
../repo-experiment/ # 隔離された実験環境(別ブランチ)
├── src/
└── tests/
/eld-predict-impact の出力またはユーザー指定からリスクレベルを判定。
リスクレベル分類:
Low:
- 単一ファイルの小変更
- 新規ファイル追加
→ worktree不要、通常のブランチで実行
Medium:
- 複数ファイルの変更
- 既存機能の拡張
→ worktree推奨
High:
- API変更、インターフェース変更
- 複数モジュールにまたがる変更
→ worktree必須
Critical:
- アーキテクチャ変更
- データ構造変更
- 破壊的変更
→ worktree必須 + 追加の安全措置
詳細は references/risk-assessment.md を参照。
リスクレベルがMedium以上の場合、worktree環境を作成。
ブランチ命名規則:
experiment/<feature-name>-<yyyymmdd>
例:
experiment/refactor-auth-20260125
experiment/api-breaking-change-20260125
ディレクトリ配置:
元のリポジトリの親ディレクトリ:
repo/ # mainブランチ(変更しない)
repo-experiment-<feature>/ # 実験環境
作成コマンド:
# 1. ブランチ作成(まだ作成していない場合)
git branch experiment/refactor-auth-20260125
# 2. worktree追加
git worktree add ../repo-experiment-refactor-auth experiment/refactor-auth-20260125
# 3. 実験環境に移動
cd ../repo-experiment-refactor-auth
隔離環境で自由に変更を試す。
実験中のルール:
自由に変更可能:
- コード変更
- テスト追加
- リファクタリング
- 破壊的変更
安全網:
- 元のリポジトリ(mainブランチ)は一切変更されない
- いつでもworktreeを削除して元に戻せる
- 並行して元のリポジトリで別作業も可能
検証ステップ:
# テスト実行
npm test
# ビルド確認
npm run build
# Evidence L1以上の検証
# TDD Enforcerによる検証
実験が成功した場合、マージ戦略を選択。
マージ戦略:
Strategy 1: Cherry-pick(部分採用)
用途: 一部のコミットのみを採用
手順:
1. 元のリポジトリに戻る
2. git cherry-pick <commit-hash>
例: 成功した変更の一部だけを取り込む
Strategy 2: Rebase(整形してマージ)
用途: コミット履歴を整理してマージ
手順:
1. experiment ブランチを rebase
2. git merge --ff-only experiment/xxx
例: コミット履歴を綺麗にしたい場合
Strategy 3: Merge(全体採用)
用途: すべての変更を取り込む
手順:
1. git merge experiment/xxx
例: すべての変更が成功した場合
詳細は references/merge-strategies.md を参照。
マージ完了後、worktreeとブランチを削除。
# 1. 元のリポジトリに戻る
cd ../repo
# 2. worktree削除
git worktree remove ../repo-experiment-refactor-auth
# 3. ブランチ削除(必要に応じて)
git branch -d experiment/refactor-auth-20260125
# 4. ディレクトリ確認
git worktree list # worktreeが削除されたことを確認
User: APIのインターフェースを変更したい
Claude:
## Phase 1: Impact Prediction
/eld-predict-impact を実行します。
[Impact Analysis結果]
Risk Level: High
Affected: 15 files, 3 modules
Causal Type: Interface Change
## Phase 2: Worktree提案
リスクレベルがHighのため、worktreeでの隔離実験を推奨します。
作業手順:
1. worktree環境作成: `experiment/api-change-20260125`
2. 隔離環境で変更実施
3. テスト実行で検証
4. 成功時にマージ戦略選択
worktree環境を作成しますか?
User: 認証システム全体をリファクタリングして
Claude:
## リスク判定
認証システムの全体リファクタリングは Critical レベルです。
worktree での隔離実験が必須です。
## worktree環境作成
[worktree作成コマンド実行]
## 段階的リファクタリング
隔離環境で以下を順次実施:
1. 型定義のリファクタリング(Evidence L0)
2. コアロジックのリファクタリング(Evidence L1)
3. API層のリファクタリング(Evidence L2)
4. 統合テストで検証
各ステップで検証を行い、失敗時はロールバック可能。
# 強制削除
git worktree remove --force ../repo-experiment-xxx
# または手動削除
rm -rf ../repo-experiment-xxx
git worktree prune
worktreeは物理的に別ディレクトリを作成するため、大規模リポジトリでは容量に注意。
対策:
references/worktree-guide.md - git worktree操作の詳細ガイドreferences/merge-strategies.md - マージ戦略の詳細references/risk-assessment.md - リスク判定基準unknownと言う勇気を持つ以下が発生したら即座に停止し、追加計測またはスコープ縮小:
npx claudepluginhub caphtech/claude-marketplace --plugin eld-pluginCreates isolated Git worktrees for experimental or risky changes, isolating work from the current branch. Performs safety checks, project setup, and baseline tests.
Use when starting feature work that needs isolation from the current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
Creates isolated git worktrees with smart directory selection and safety verification. Use when starting feature work needing branch isolation.