seam-plan について
seam-planは、コード境界を軸にリファクタリングを計画するスキルです。拡張・移行・縮小の各段階とロールバック地点を定め、レビュー待ちまたは未解決の状態を示します。
主な機能
- 01インターフェースと依存関係の継ぎ目を特定
- 02拡張・移行・縮小の各段階を計画
- 03ロールバックの条件と方式を定義
- 04ステージ済みまたは未解決の状態を表示
活用シーン
- 01レガシーコードの段階的なリファクタリング計画
- 02ロールバック可能な呼び出し元移行の準備
- 03分離を妨げる結合の特定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ venhdev/ skills --skill seam-planインストール後、Claude Code で/seam-planを入力して読み込まれたか確認します。
詳細
seam-plan — シーム主導のリファクタリングと拡張・縮小戦略
ドメイン基準
1. シームの位置と隔離メカニズム
インターフェース、依存性注入、またはパッケージの境界にある介入可能なシームを特定します。ゼロダウンタイムの隔離メカニズムとして、インターフェースアダプター、フィーチャーフラグ、シャドウプロキシ、または 抽象化による分岐 を選択します。
2. 拡張・縮小の3段階における不変条件
- フェーズ1:拡張(追加のみで非破壊):レガシーコードと並行して、新しいインターフェース、スキーマ、またはシャドウサービスを導入します。呼び出し元のシグネチャとレガシーのテストスイートは変更せず、GREEN のまま維持します。
- フェーズ2:移行(段階的な切り替え):フィーチャーフラグまたはアダプターを介して、呼び出し元を個別に新しい抽象化へ振り向けます。フラグを切り替えるだけで、コードを再デプロイせずに即座にレガシー経路へロールバックできるようにします。
- フェーズ3:縮小(削除とクリーンアップ):すべての回帰テストに合格したら、レガシー実装を削除し、一時的なフラグ、不要になった分岐、シムを取り除きます。
3. 状態
STAGED:3段階の移行戦略とロールバックの手順を、人によるレビュー用に準備しました。UNRESOLVED:密結合したコードのため、基盤となる再設計なしではシームを特定できません。
標準出力の契約
# Seam Migration Plan: <Refactor Target> · <STAGED | UNRESOLVED>
Basis: <Frozen contract, architectural direction, or structural audit>
Seam Coordinate: <Repo-relative file and symbol representing the interception point>
Isolation Mechanism: <Interface Adapter | Feature Flag | Shadow Proxy | Branch by Abstraction>
## Phase 1: Expand (Additive Non-Breaking)
- Operations: [CREATE] <New interfaces, adapters, or shadow implementations>
- Invariant: Zero modifications to existing caller signatures; legacy tests remain unmodified and GREEN.
## Phase 2: Migrate (Progressive Cutover)
- Migration Steps:
1. `<Caller A>`: Rerouted via `<Flag / Seam>` -> Verified via `<Parity Check>`.
2. `<Caller B>`: Rerouted via `<Flag / Seam>` -> Verified via `<Parity Check>`.
- Fallback Gate: <Observable condition triggering instant rollback to legacy seam>
## Phase 3: Contract (Pruning & Cleanup)
- Operations:
- [DELETE] `<Legacy implementation files or obsolete branches>`
- [UPDATE] `<Remove temporary flags, adapters, and redundant shims>`
- Final Verification: <Full regression test suite execution without legacy paths>
Summary: 3 atomic phases planned, rollback exposure confined to Phase 2 flag.
*(omit if clean)* Gap: <Coupling blocker preventing clean seam extraction.>
ルーティング
- 移行戦略を準備済みで、各フェーズを DAG に分割する場合 →(
/split-tasks経由)。 - 単一フェーズのファイル影響範囲をすぐに計画できる場合 →(
/changeset経由)。 - 大規模なアーキテクチャの転換なしではシームを隔離できない場合 →(
/architect-decision経由)。
実行プロトコル
- リファクタリング対象の範囲を調査し、介入可能なシームを特定して、3段階の進行(拡張 -> 移行 -> 縮小)を策定します。
- 明示的なロールバックゲートを設けて、シーム移行計画を準備します。シームを隔離できないほど結合が強い場合は
STAGED(またはUNRESOLVED)を報告します。
コメント
Markdown 対応