コードスリムリファクタ は何をしますか?
トリガー境界
このスキルは、ユーザーが明示的に構造的な単純化または収束リファクタリングを希望する場合にのみ使用してください。
以下の場合はトリガーしないでください:
- 小規模なクリーンアップ
- 日常的なバグ修正
- 一度きりの名前変更
- 専用の収束ワークフローを必要としない通常のリファクタリング
モード
1回の実行につき1つのモードを選択してください:
quick: 小規模または明確に区切られた領域に対する軽量な収束パスstrict: 完全なトレーサビリティとマージゲートを備えた正式なリファクタリングパス
ユーザーが正式で監査可能なリリースに関わるリファクタリングを求めない限り、デフォルトで quick を使用してください。
必須入力
repo_path: Gitリポジトリへの絶対パスrefactor_goal: 1行の収束目標scope: オプションのパスまたはモジュールスコープmode:quickまたはstricttarget_branch:strictの場合のみ必須、デフォルトはmaster
中核ルール
このワークフローはデフォルトで古い外部互換性を維持しませんが、スコープ内のシステムにおける意図された現在のコントラクトを維持しなければなりません。
テストを通すためだけにバックエンドコントラクト、レスポンスセマンティクス、またはアサーション基準を決して変更しないでください。
Quickモード
タスクが限定されており、ユーザーが主に収束を求めていて、正式な成果物トレイルを必要としない場合に quick を使用してください。
必要な手順:
- 目標、スコープ、除去すべき主な複雑性を述べる。
- 会話内または必要に応じて最小限のローカルノートとして短いアクションリストを保持する。
- そのアクションリストに関連するスコープ内の変更のみを適用する。
- バックエンドコントラクト、レスポンスセマンティクス、アサーション基準を維持する。
- 変更された領域に対して集中した検証を実行する。
- 検証がバックエンド/テストの不一致を示唆する場合は、さらなる編集の前に停止し、コントラクト不一致ゲートを実行する。
- 除去された複雑性、保持されたもの、残存リスクを報告する。
./slim_refactor/ の成果物は quick モードではオプションです。
Strictモード
リファクタリングがトレーサブル、監査可能、またはマージゲート制御を必要とする場合に strict を使用してください。
必須ゲート:
- 専用の作業ブランチを作成して使用する。ターゲットブランチ上で直接編集しないでください。
- コード編集の前に設計を書く。
./slim_refactor/の下で成果物を追跡する:todolist.mdplan.mdreport.md
- バックエンドコントラクト、レスポンスセマンティクス、アサーション基準を維持する。
- すべての変更ラウンドでレビューを実行する。
- 検証がバックエンド/テストの不一致を示唆する場合は、コントラクト不一致ゲートを実行する。
- マージ前に完全なワークフローゲートを実行する。
コントラクト不一致ゲート
テストが実際のリグレッションではなくコントラクトの不一致を反映する可能性がある方法で失敗した場合は、このゲートを使用してください。
必要なアクション:
- 分類が完了するまで実装変更を停止する。
- 現在の動作、意図された現在のコントラクト、テストの期待値を比較する。
- サブエージェントが利用可能な場合は、独立したサブエージェントレビューを起動する。
- サブエージェントが利用できない場合は、明示的なローカルレビューフォールバックを実行し、そのフォールバックをラウンド出力に記録する。
- 不一致を以下のいずれかに正確に分類する:
backend_regression: バックエンドの動作が意図された現在のコントラクトに対して間違っている。stale_tests: テストが意図された現在のコントラクトに追いついていない。
分類後の許可されるアクション:
backend_regression: バックエンドの動作を意図された現在のコントラクトに修正する。問題を隠すためにテストを弱めてはいけない。stale_tests: 影響を受けるテストのみを更新するか、このラウンドではそれらのテストをスキップする。バックエンドコントラクトやアサーション基準を緩めてはいけない。
テストがスキップされた場合は、ラウンド終了前に、陳腐化ゲートの状態、スキップされたスコープ、および必要なフォローアップを報告する。
実行ワークフロー
Quick
- 目標、スコープ、検証ターゲットを確認する。
- 最小の一貫した変更セットで非本質的な複雑性を除去する。
- 新しい抽象化よりも削除と収束を優先する。
- 構造を変更しながら意図された現在のバックエンドコントラクトを維持する。
- 影響を受けるスコープを検証する。
- 検証がコントラクト/テストの不一致を示唆する場合は、さらなる編集の前にコントラクト不一致ゲートを実行する。
- 収束結果と残存リスクを要約する。
Strict
target_branchをチェックアウトして同期する。BASE_SHAを記録する。- ブランチ
codex/refactor/<topic>-<YYYYMMDD>を作成する。 ./slim_refactor/todolist.mdを作成または更新する。./slim_refactor/plan.mdを作成または更新する。- 計画で宣言されたアクションのみを実装する。
- 構造を収束させながら意図された現在のバックエンドコントラクトを維持する。
- 各変更ラウンドでレビューを実行し、結果を
./slim_refactor/report.mdに記録する。 - 検証がコントラクト/テストの不一致を示唆する場合は、コントラクト不一致ゲートを実行し、レビューアタイプと分類を記録する。
- 完全なワークフローゲートを実行する。
- トレーサビリティとマージまたはブロックの決定を付けて
report.mdを確定する。
出力要件
常に以下を報告する:
- 除去された複雑性
- 収束された構造
- 検証結果
- 残存リスク
- 維持または修正されたコントラクト不変条件
- 該当する場合は不一致の分類
- 不一致レビューが発生した場合のレビューアタイプ(
subagentまたはlocal_fallback) - 陳腐化テストが見つかった場合に変更またはスキップされたテスト
strict の場合は、以下も報告する:
- ブランチ名
- 成果物パス
- レビュー結果
- マージまたはブロックの決定
参照
references/workflow-checklist.mdreferences/design-spec-template.mdreferences/todolist-template.mdreferences/plan-template.mdreferences/report-template.md