scope について
scopeは、提案された書き込み範囲を受け入れ条件や生成ファイル、除外項目に照らして確認する助言型スキルです。明示された事実から対象パスを導き、リポジトリを変更せずに不足や曖昧さを示します。
主な機能
- 01受け入れ条件をソースパスに対応付け
- 02生成された関連ファイルを考慮
- 03広すぎるパターンや重複を検出
- 04パターンを明示的な公理に対応付け
- 05バイト単位で検証する復元を規定
活用シーン
- 01提案された変更範囲の確認
- 02漏れや根拠のないパスの特定
- 03保護対象ファイルに触れた後の復元計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ boshu2/ agentops --skill scopeインストール後、Claude Code で/scopeを入力して読み込まれたか確認します。
同梱ファイルscripts/validate.sh
詳細
Scope — 提案された書き込みスコープをレビューする
既存の bead または呼び出し側の意図に記載された書き込みスコープをレビューします。このスキルは助言を行うものであり、2つ目の計画成果物を作成したり、ロックを書き込んだり、フックをインストールしたり、編集をブロックしたり、パスを要求したりすることはありません。
入力
- 1つのアクティブな振る舞いと、その受け入れシナリオ。
- 提案された include パターンと exclude パターン。
- 既知の生成コンパニオンおよびフィクスチャ/プロジェクションのパス。
- 明示的な非目標。
手順
- 各受け入れ基準を、変更される可能性のある最小のソースパスに対応付けます。
- ソースとともに更新する必要がある、管理対象の生成コンパニオンを追加します。
- include/exclude パターンが重複していないか、または広すぎて根拠を示せないものになっていないかを確認します。
- 提案から漏れている可能性の高いパスを特定します。
- 修正後の提案と各変更の理由を返し、そこで終了します。
提案を元の意図の情報源に採用するかどうかは呼び出し側が判断し、Validate は実行時に導出された変更パスとそのスコープを独立して比較します。
公理カーネルによる枠組み
列挙の勘ではなく、公理からスコープを導き出します。受け入れ条件によって成立する少数の事実を記述します。たとえば「振る舞い X はルート A に存在する」「プロジェクション B は A から生成される」「C 以下の履歴は凍結されている」などです。そして、各 include/exclude パターンを必ず1つの公理から導き出します。裏付けとなる公理がないパターンは、正当化できない範囲の拡大です。パターンがない公理は抜け漏れです。どちらもレビュー結果に含めます。関連がありそうなディレクトリを列挙してスコープを組み立てるのは、雰囲気で決めた境界という失敗モードです。境界上のパスを Validate が検出したとき、その線引きの理由を説明できる人がいないため、正当性を示せません。終了条件:公理とパターンの対応付けで、どちら側にも未対応の項目がなくなった時点でレビューは完了です。
バイト単位で検証する復旧の儀式
保護対象のパスにすでに変更が加えられていることがレビューで判明した場合、または呼び出し側からスコープ違反の取り消し方を尋ねられた場合、助言は曖昧な説明ではなく、手順を示す儀式でなければなりません。影響を受ける各パスについて正常な状態のソース(コミット済みの状態、スナップショット、またはソースから生成されたもの)を特定し、復元したうえで、復元内容が正常な状態のバイト列と完全に一致することをバイト単位で検証します(目視による差分比較や「問題なさそう」という確認ではなく、コンテンツハッシュを比較します)。確認だけで復旧を宣言するのは、目視で復元を判断するという失敗モードです。復元されたように見えるファイルでも、重要なバイトが異なる可能性があります。この儀式の終了条件は、影響を受けるすべてのパスでハッシュが一致することです。照合するための正常な状態のソースがないパスは、指定されたスコープ内では復旧不能として報告し、判断は呼び出し側に委ねます。
出力
write_scope:
include: ["bounded/source/**"]
exclude: ["bounded/source/generated-by-other-owner/**"]
generated_companions: ["bounded/generated/**"]
gaps: []
ambiguities: []
チェック項目
- パターンは正規化されたリポジトリ相対パスです。
- include は関連のないディレクトリまで許可せずに、対象の振る舞いを網羅しています。
- exclude は必要な変更と矛盾していません。
- 生成コンパニオンが明示されています。
- 所有権、スケジュール、Git、フック、再試行、リリース、または配信の状態は追加されていません。
失敗時の動作
提示された受け入れ条件からスコープを曖昧さなく定められない場合は、不足している事実を報告して終了します。呼び出し側は新しいアクションで意図を修正できます。