grace-plan について
grace-planは、承認済みのアクティブなGraceChangeSpecを、草案または明示的に承認された実行可能なGraceChangePlanに変換するGRACEワークフロー用スキルです。計画を支援し、ソースコードの実装や既存の承認済み計画・プロジェクト状態の変更は行いません。
主な機能
- 01承認済み変更仕様の検証
- 02アクティブベースラインのlint事前確認
- 03XMLテンプレートから計画を作成
- 04スコープ・アサーション・タスクの定義
- 05タスク依存関係の循環確認
- 06承認済み計画とプロジェクト状態の保護
活用シーン
- 01承認済みGRACE変更の計画
- 02検証可能なベースラインと目標条件の指定
- 03実装前のタスク依存関係の定義
- 04古い状態や並列安全性の警告確認
MCP 対応
このスキルはGRACEワークフローで使うGraceChangePlan成果物を作成します。GRACE lintを実行し、承認後のステータス確認を推奨できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ osovv/ grace-marketplace --skill grace-planインストール後、Claude Code で/grace-planを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yamlreferences/change-plan-template.xml
詳細
<approved_plan_immutability>
plan.xmlがすでに存在し、ステータスがapprovedの場合は、書き込みを行う前に停止します。BaselineAssertions、TargetAssertions、DurableScope、ObservedWriteScope、またはタスクをその場で更新しないでください。- 新しい
C-*バンドルを作成し、明示的な置換参照を付けて古いバンドルをsupersededにします。 </approved_plan_immutability>
<must_do>
references/change-plan-template.xml から plan.xml を作成し、ユーザーが完成した計画を明示的に承認しない限り、ステータスは draft にします。対応する C-* ラッパー、有意義な意図、機械検証可能で空ではないベースラインおよびターゲットアサーション、明示的な永続スコープと観測対象スコープ、一意で循環のない T-NNN タスクを必須とします。書き込みのないスコープには、明示的な <None /> マーカーを使用します。「none」のような文章表現は無効です。各タスクには、Title を1つ、先行タスクを0個以上、正規のカンマ区切り T-NNN 値で列挙する DependsOn 要素を1つ(例:<DependsOn>T-001, T-002</DependsOn>)、空ではない受け入れ基準、空ではない検証コマンドを設定します。依存関係は有向非巡回グラフを構成する必要があります。真の先行タスクのみを列挙し、順序を表すために独立したタスクを一連の依存関係にしないでください。古い状態に関する警告と共存に関する警告を提示し、未対応のスコープ glob 構文は推測せず拒否します。
</must_do>
<command_phase_rules>
currentはアクティブベースラインの事前確認であり、観測対象の書き込み開始前にのみ有効です。baselineは選択された編集前のゲート、targetは選択された編集後のエビデンス、finalはgrace-executeが管理する最終適用/アーカイブのゲートです。MustPassCommandには、テスト、型チェック、ビルド、フォーマット、パッケージチェックなど、プロジェクト単体のエビデンスを指定します。grace lint、grace status、その他の GRACE ライフサイクルコマンドは絶対に含めないでください。--assertions currentをTargetAssertionsや、書き込み後に実行するタスク検証に含めないでください。代わりに、選択した target/final lint を外部で使用します。MustPassCommandは、基準ホスト上で宣言されたbudgetSeconds内に完了する必要があります(指定がない場合はグローバルの--command-timeoutが適用されます)。ゲートの途中でコマンドを強制終了させるデフォルト値を引き継がず、実測した予算を宣言してください。- 実行時間の大半がコンテナ、データベース、ブラウザー、エミュレーターなどの基盤起動に費やされる全体スイートコマンドは、ゲートではなく受け入れテスト層に含めます。全体スイートコマンドと、それが再実行するファイル単位のコマンドを両方指定しないでください。 </command_phase_rules>
<hard_rules> コードを実装しない、計画を黙って承認しない、承認済みの計画を上書きしない、計画中に現在のグラフ/検証アーティファクトを変更しないでください。セマンティックアンカーは属性ではなく、正規の XML タグです。 </hard_rules>