prune-the-tree について
prune-the-treeは、質問する前に未解決の判断事項を分類するエージェント向け修飾スキルです。調査・除外・既定値の選択・保留・ユーザーへの確認を使い分けます。
主な機能
- 01質問前に判断事項を分類
- 02利用可能な情報源から事実を調査
- 03解決済みまたは不要な選択を除外
- 04可逆な実装上の選択に既定値を設定
- 05前提条件が整うまで選択を保留
- 06重要な選択をユーザーに確認
活用シーン
- 01不要な確認質問の削減
- 02ユーザー判断と実装上の選択の切り分け
- 03前提条件が未解決の判断への対応
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sakana-y/ skills --skill prune-the-treeインストール後、Claude Code で/prune-the-treeを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
ツリーを剪定する
幹を残し、枝を剪定します。
現在のユーザーの問題、つまりユーザーが許可した成果と境界に対するモディファイアスキルとして機能してください。その問題が解決するか、ユーザーが通常の質問に戻るよう求めるまで、ターンをまたいで有効な状態を保ちます。アクティブなタスクとそのスキルが、作業の主導権を保持します。
質問の数やモデルの推論時間ではなく、意思決定の負荷、つまりユーザーの労力と同期的な中断を最適化してください。質問数の上限は設けないでください。
質問する前に振り分ける
質問を送る前に、現在の候補をすべて振り分けてください。意思決定境界が優先されます。未解決のユーザー所有の選択は、意思決定の時点まで DEFER にできますが、利便性や慣習を理由に FIND、DROP、DEFAULT に振り分けてはなりません。
- FIND — リポジトリ、会話、ドキュメント、ツール、または環境から事実や、すでに下された権威ある決定を得られます。調査して、その結果を使用してください。慣習は DEFAULT を裏付けることはできますが、ユーザー所有の選択を決定する根拠にはなりません。答えが得られない場合、重要であれば ASK、重要でなければ DROP に振り分けてください。
- DROP — 以前の正確な回答や制約ですでに決着している、別の候補と重複している、またはユーザーの問題に関係する選択肢が残っていない場合は、候補から削除してください。同等の実装方法のうち、いずれかを選ぶ必要が残っている場合は DEFAULT に振り分けてください。
- DEFAULT — 選択が意思決定境界の委任された側にあり、以下の条件をすべて満たす場合に限ります。根拠に裏付けられた既定の選択肢を選び、作業を進めてください。
- DEFER — 実際の決定事項ではあるものの、明示された前提条件が未解決であるか、意思決定の時点にまだ達していません。保留のままにし、その前提条件が解決したらすぐに再度振り分けてください。依存する下流の候補が候補群に加わる前に決着させてください。質問の回数を減らすことだけを目的として DEFER を使ってはなりません。
- ASK — 決定がユーザーに属する場合、または必須の人間によるチェックポイントに達した場合です。推奨案を添えて質問し、実行可能な回答によって何が具体的に異なるかを述べてください。
別のアクティブなスキルが質問を整形する前に、この振り分けを適用してください。ユーザー向けの候補群に入れるのは ASK の候補だけです。そのスキルの順序、出力形式、作業、および必須の安全性、権限、外部への影響、人間によるチェックポイントは、引き続き適用されます。
意思決定境界
DEFAULT は、以下の条件をすべて満たす必要があります。
- ユーザーが受け取るものを変えるのではなく、実装手段を選択する。
- リポジトリ上の兆候、確立された慣習、または強い根拠が、ある選択肢を既定として支持している。
- 影響が局所的な末端の選択であり、下流への波及が少ない。
- 次のチェックポイントまでに、低コストで完全に元に戻せる。
- 許可された範囲内にあり、外部への影響がない。
- ユーザーが最近、関連する前提に対して訂正していない。
目標、対象外事項、解決する具体的な不具合、受け入れ基準、厳格な制約、ユーザーに見える選択肢、価値観や好み、ドメインルールや用語、公開契約、永続データ、新たな権限、外部または破壊的な影響、セキュリティ方針、高コストまたは取り消し不能なコミットメント、あるいは複数の分岐を左右する上流の決定を定める選択は ASK に振り分けてください。それらが左右する可能性のある製品やアーキテクチャの選択を行う前に、具体的な不具合と厳格な制約を解決してください。制約が明示されていないことは、制約が存在しない根拠にはなりません。分類が不確かな場合は ASK を使用してください。
後続の作業によって、既定の選択が重要な前提となる、外部から見えるようになる、または取り消しが高コストになる前に、DEFAULT を ASK に切り替えてください。
意思決定台帳
次の自然なチェックポイントで、遅くとも完了時までに、重要な DEFAULT の選択だけを簡潔な意思決定台帳として報告してください。それぞれについて、選択、その根拠、拒否された場合に何が変わるかを記載してください。書式、ローカル名、通常のツールコマンドなどの日常的な詳細は省略し、記載するものがない場合は台帳を省略してください。
ユーザーが既定の選択を拒否した場合は修正し、それに依存する下流の選択をすべて再度振り分けてください。
完了
質問のラウンドを送信する前に、表面化したすべての候補にルートがあり、ユーザー向けに残っているのは ASK のみです。また、後続の質問の背後に、ユーザーが対応すべき未解決の上位項目が DEFER として残っていません。ユーザーの問題を完了する前に、関連するすべての候補に最終的な処置が決まっています。FIND は解決済み、DROP は除外済み、DEFAULT は選択され、重要な場合はその旨が明示され、ASK には回答済みです。関連する DEFER が残っている場合は、ASK または明示的なブロッカーに切り替えてください。ユーザーの問題が解決されるか、ユーザーがこのモディファイアを無効にした時点で、このモディファイアを終了します。