recursive-worktree について
recursive-worktreeは、recursive-modeの開始時に機能ブランチの作業ツリーを分離して用意するスキルです。後続フェーズの前に、環境構築、ベースラインテスト、ブランチの安全性を確認して記録します。
主な機能
- 01分離した機能作業ツリーの作成
- 02作業ツリーの除外設定を確認
- 03環境構築とベースラインテスト
- 04ブランチと正規化差分基準の記録
- 05作業ツリー内のルーター状態確認
活用シーン
- 01Phase 1前のリポジトリ準備
- 02メインブランチからの変更分離
- 03テストの基準状態の記録
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ try-works/ recursive-mode --skill recursive-worktreeインストール後、Claude Code で/recursive-worktreeを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
recursive-worktree
目的
再帰モードの実行開始時にこのスキルを使用し、Phase 1 以降の作業を始める前に隔離されたワークツリーをセットアップします。
全体の標準ワークフローは引き続き /.recursive/RECURSIVE.md に記載されています。このスキルでは、00-worktree.md のワークツリー隔離に関する規律のみを扱います。
厳守事項
以下が完了するまで、再帰モードのフェーズ作業に進まないでください。
- 機能ブランチのワークツリーが存在すること。
- ワークツリーのディレクトリがリポジトリ内にある場合、git-ignore されていること。
- プロジェクトのセットアップが完了していること。
- クリーンなテスト状態、または明示的に了承されたベースラインのテスト状態が記録されていること。
デフォルトの場所の優先順位
以下の順で選択してください。
- 既存の
.worktrees/ - 既存の
worktrees/ - リポジトリの指示に記載された場所の設定
- ユーザーに確認する
- デフォルトで
.worktrees/を使用する
グローバルな代替場所:
~/.config/recursive-mode/worktrees/<project-name>/
メインブランチの保護
現在のブランチが main または master の場合、デフォルトでは機能ブランチにワークツリーを作成してください。
git worktree add .worktrees/<run-id> -b recursive/<run-id>
cd .worktrees/<run-id>
ユーザーがメインブランチでの作業を明示的に希望する場合は、その例外を 00-worktree.md に記録してください。
Phase 0 の最低限のチェックリスト
00-worktree.md には以下を含める必要があります。
- 選択したワークツリーの場所
- git-ignore の確認
- ブランチ名とワークツリーのパス
- 実行したセットアップコマンド
- ベースラインのテストコマンドと結果
Baseline type、Baseline reference、Comparison reference、Normalized baseline、Normalized comparison、Normalized diff commandを含む正規化差分の基準フィールド- 後続のフェーズをワークツリーから実行することを明記した注記
- スキャフォールドに必要な
## TODO見出し
推奨コマンド
ブランチを確認します。
git branch --show-current
ignore 状態を確認します。
git check-ignore -q .worktrees || git check-ignore -q worktrees
ワークツリーを作成します。
git worktree add .worktrees/<run-id> -b recursive/<run-id>
セットアップのガイダンス
リポジトリに適したセットアップコマンドを実行してください。
- Node.js:
npm install - Rust:
cargo build - Python:
pip install -r requirements.txtまたはプロジェクト固有のインストールコマンド - Go:
go mod download - Maven:
mvn compile -q - Gradle:
./gradlew compileJava - .NET:
dotnet restore
続いて、プロジェクトに適したベースラインのテストコマンドを実行し、その結果を 00-worktree.md に記録してください。
ワークツリー内のルーター状態
委任またはルーティングされた作業を隔離されたワークツリーから実行する前に、同じワークツリー内のルーターファイルを確認してください。
test -f .recursive/config/recursive-router.json
test -f .recursive/config/recursive-router-discovered.json
Test-Path .recursive/config/recursive-router.json
Test-Path .recursive/config/recursive-router-discovered.json
コントローラー/ソースリポジトリにルーターポリシーまたは検出インベントリが設定されていて、ワークツリーにそれがない場合は、ルーティングされたロールを解決または呼び出す前に、両方のファイルをワークツリーに同期してください。ワークツリーのポリシーに対するユーザーの編集は保持し、バインディングを変更する場合は、手動編集より recursive-router-configure を優先してください。
recursive-router-discovered.json はローカルの検出状態であり、追跡対象外の場合があります。新しいワークツリーに存在しないのは想定どおりですが、古い情報に基づいて外部ロールを解決するのは安全ではありません。ワークツリーから python ./.recursive/scripts/recursive-router-probe.py --repo-root . --json を実行して更新するか、それが意図したポリシーの基準である場合は、現在のインベントリをコントローラー/ソースリポジトリからコピーしてください。
ルーティングされた作業を受け入れる前に、ルーターポリシーのパス、検出パス、検証/プローブコマンド、および結果としてのルート決定を 00-worktree.md または委任アクションの記録に記載してください。
出力要件
成果物を次の場所に書き込んでください。
/.recursive/run/<run-id>/00-worktree.md
機能ブランチには次の名前を使用してください。
recursive/<run-id>
ルーティングに関する注意
このスキルで、ワークツリーのセットアップ、ベースラインの検証、またはブランチの安全性を検証するためにレビューを委任したり、その他のルーティング対象の外部モデルを使用したりする場合は、その CLI/モデルを選択する直前に次を読み直してください。
/.recursive/config/recursive-router.json/.recursive/config/recursive-router-discovered.json
ハードコードしたレビュアーモデルを使用するのではなく、ルーティングされたポリシーまたは明示的なフォールバックに従ってください。
統合
- 現状分析と計画の前に、このスキルを実行してください。
- フェーズ 0 がロック検証に合格したら、ワークツリーのコンテキストから実行を続けてください。
STATE.md、DECISIONS.md、メモリの更新を含む後続のフェーズは、マージ時まで同じ機能ブランチで進めてください。