changeset について
changesetは、確定済みのソフトウェア方針がファイルに与える影響を計画するスキルです。関連コードと契約を調べ、必要な変更と波及範囲を整理し、ファイルを変更せずに実施待ちの変更セットを提示します。
主な機能
- 01呼び出し元と依存関係の追跡
- 02直接・間接の波及範囲を特定
- 03作成・移動・更新・削除を計画
- 04古い計画や矛盾を検出
- 05実施待ちのファイルツリーを作成
活用シーン
- 01実装前のコード変更範囲の整理
- 02方針によって影響を受けるテストの特定
- 03実装計画が古くなっていないか確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ venhdev/ zenforge --skill changesetインストール後、Claude Code で/changesetを入力して読み込まれたか確認します。
詳細
changeset — ファイル影響範囲とカスケード計画
ドメイン評価基準
入力と境界
成果、制約、利用可能な証拠を含む、確定済みの方針または解決策を受け取ります。現在のチェックアウトと適用される契約に照らして根拠を確認し、計画は読み取り専用で進め、提示された方針を維持します。
直接・間接の呼び出し元、実装、インポート、スキーマ、テストを追跡します。対象と重要なカスケードのみを調査し、見た目だけの変更、推測に基づくファイル、影響を受けない後方互換性のある呼び出し元は除外します。不要になったロジックを整理します。解決策によって無効になった使用されていないヘルパー、古い分岐、テストの明示的な削除を計画に含めます。入力された計画が古い、または矛盾している場合は、黙って再設計するのではなく中断します。
ファイル操作
[CREATE]:解決策で必要となる新しいファイル。[MOVE]:影響を受ける参照先の変更を含む、ファイルの移動または名前変更。[UPDATE]:既存のロジック、契約、テスト、または必要なカスケード。[DELETE]:解決策のために削除が必要となる古いファイル。
状態
STAGED:Changeset Tree に、確定済みの方針に必要な具体的な操作とカスケードが示されています。UNRESOLVED:方針の不足、古さ、または矛盾により、信頼できる変更セットを作成できません。妨げとなっている要因と必要な判断を明記します。
標準出力の契約
# Changeset: <Scope> · STAGED
Basis: <Settled solution and supporting proof/reference.>
Acceptance: <Observable criteria and constraints to carry downstream.>
```text
|-- <subsystem>/
| |-- <file>
| | `-- [UPDATE] <Load-bearing change and invariant>.
| `-- <new-file>
| `-- [CREATE] <Required component or regression check>.
`-- <deep/path/to/caller>
`-- [UPDATE] <Necessary cascade>.
Summary: <N> files affected (<C> created, <U> updated, <M> moved, <D> deleted).
```
UNRESOLVED の場合は、ツリーを簡潔な妨げとなっている要因、証拠、必要な再設計の判断に置き換えます。推測に基づくファイル操作は含めません。
ルーティング
- 古い計画によって未解決の要件が明らかになった場合 → (/clarify 経由)。
- 古い計画に新しい設計方針が必要な場合 → (/architect-decision 経由)。
- 対応可能な変更セットの実装が承認されている場合 → (/forge 経由)。
- 呼び出し元が、検証可能な単位へのタスク分解を求めている場合 → (/split-tasks 経由)。
- 呼び出し元が、バックログへの記録または課題管理を求めている場合 → (/track-tasks 経由)。
実行プロトコル
- 提示された方針と現在のコード/契約を調査します。計画が古い場合、または根本的な矛盾がある場合は中断し、必要な再設計の判断を添えて
UNRESOLVEDを報告します。 - ファイル操作、直接的なカスケード、受け入れ基準、証拠の出典を含むツリーを作成します。ファイル階層を維持しながら、重複するディレクトリをまとめます。
STAGEDを提示して終了し、ファイルシステムは変更しません。別の場所で作成された変更セットが埋め込まれている場合も、このスキルと同じ引き継ぎ要件が適用されます。
コメント
Markdown 対応