planifie について
planifieは、PRDを個別に提供できる垂直スライスに分割し、計画を`docs/PLAN.md`に書き込むスキルです。既存のコードベースを調べ、長期的なアーキテクチャ決定を記録し、書き込み前にユーザーとフェーズを確認します。
主な機能
- 01PRDと既存計画の読み込み
- 02コードベースの調査
- 03長期的なアーキテクチャ決定の記録
- 04垂直スライスへの分割
- 05フェーズの依存関係をユーザーと確認
- 06`docs/PLAN.md`への書き込み
活用シーン
- 01PRDに基づく機能計画
- 02既存の実施計画の拡張
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ naiersaidane/ claude-mastery --skill planifieインストール後、Claude Code で/planifieを入力して読み込まれたか確認します。
詳細
/planifie
PRD を、縦切りのトレーサービリティ項目による、個別にリリース可能なフェーズに分割します。出力先は docs/PLAN.md です。
プロセス
1. PRD を取得する
デフォルトでは docs/PRD.md を読み込みます。引数としてファイルパスが渡された場合は、そのファイルを読み込みます。使用できるファイルがない場合は、ファイルを指定するか、内容を貼り付けるようユーザーに依頼します。
2. PLAN が存在する場合は拡張モードにする
docs/PLAN.md がすでに存在する場合は、読み込みます。既存フェーズでカバーされていない PRD のユーザーストーリーと、変更された PRD との不整合を特定します。すでに承認されたフェーズは書き直さず、追加フェーズまたは対象を絞った拡張を提案し、書き込む前に矛盾点をユーザーに伝えます。
3. コードベースを調査する
まだコードベースを調査していない場合は、現在のアーキテクチャ、既存のパターン、統合レイヤーを把握するために調査します。プロジェクトが新規(グリーンフィールド)の場合は、この手順を省略します。
4. 長期的に維持すべきアーキテクチャ上の決定事項を特定する
分割する前に、実装中に変更すべきでない高レベルの決定事項を特定します。
- ルート構成/URL パターン
- データベーススキーマの構成
- 主要なデータモデルの名前
- 認証/認可の方針
- サードパーティサービスとの境界
これらをプランの冒頭に記載し、各フェーズから参照できるようにします。
5. 縦切りのトレーサービリティ項目を作成する
PRD をトレーサービリティ項目のフェーズに分割します。各フェーズは、統合レイヤーをすべてエンドツーエンドで通過する小さな縦切りであり、単一レイヤーだけを対象とする横切りではありません。
<règles-tranche-verticale>
- 各縦切りは、すべてのレイヤー(スキーマ、API、UI、テスト)を通した、範囲は狭くても完全な経路を提供する
- 完了した縦切りは、それ単独でデモまたは検証できる
- 大きな縦切りを少数作るより、小さな縦切りを多く作る
- 変更される可能性のあるファイル名、関数名、実装の詳細は含めない
- 長期的に維持すべき決定事項(ルート、スキーマ構成、モデル名)は含める </règles-tranche-verticale>
6. ユーザーに確認する
分割案を番号付きリストで提示します。各フェーズには次の項目を記載します。
- タイトル:簡潔で内容がわかる名前
- ブロック要因:先に完了する必要がある他の縦切り
- 対象となるユーザーストーリー:PRD のユーザーストーリー番号
そのうえで、次の点を尋ねます。
- 粒度は適切ですか?(粗すぎる/細かすぎる)
- 依存関係は正しいですか?
- 統合する、またはさらに分割するフェーズはありますか?
承認されるまで調整します。
7. プランを書き込む
docs/ が存在しない場合は作成します。テンプレートに従って docs/PLAN.md を作成します。拡張モードでは、既存の承認済み内容には触れずに、追加フェーズを既存のフェーズに統合します。*「✓ docs/PLAN.md に書き込みました」*と確認します。
PRD のソース:<パスまたは識別子>
アーキテクチャ上の決定事項
すべてのフェーズに適用される、長期的に維持すべき決定事項:
- ルート:...
- スキーマ:...
- 主要モデル:...
- (状況に応じてセクションを追加/削除)
フェーズ 1:<タイトル>
ユーザーストーリー:<PRD のリスト>
提供するもの
この縦切りで提供する内容を簡潔に説明します。レイヤーごとの実装ではなく、エンドツーエンドの動作を記述します。
受け入れ条件
- 条件 1
- 条件 2
- 条件 3
ブロック要因
- ブロックするフェーズへの参照(ある場合)
ブロック要因がない場合は、*「なし — すぐに着手可能」*と記載します。
フェーズ 2:<タイトル>
ユーザーストーリー:<PRD のリスト>
提供するもの
...
受け入れ条件
- ...
ブロック要因
- ...